日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库架构设计——数据库选型

發(fā)布時(shí)間:2024/1/8 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库架构设计——数据库选型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

摘要

架構(gòu)師在工作中經(jīng)常會(huì)遇到數(shù)據(jù)庫存儲(chǔ)選型的問題,而市面上數(shù)據(jù)庫產(chǎn)品眾多,往往會(huì)無從下手,甚至有時(shí)候從業(yè)務(wù)開發(fā)到上線運(yùn)維過程中會(huì)多次更換底層數(shù)據(jù)庫,給整個(gè)研發(fā)中心帶來不必要的額外工作。結(jié)合業(yè)務(wù)場(chǎng)景做數(shù)據(jù)庫存儲(chǔ)選型的時(shí)候,可以綜合以下幾個(gè)維度去考慮:

一、技術(shù)選型維度

1.1 業(yè)務(wù)是否需要保證ACID事務(wù)?

事務(wù)具有4個(gè)特征,分別是原子性、一致性、隔離性和持久性

需要ACIDMySQL、pg(PostgreSQL)等
不需要ACIDMongoDB、hbase、cassandra等

1.2 要求低延遲

?對(duì)性能要求極致,不擔(dān)心數(shù)據(jù)丟失的選擇memcache
數(shù)據(jù)生命周期短,數(shù)據(jù)量相對(duì)小,性能要求高,需要存儲(chǔ)靈活的數(shù)據(jù)結(jié)構(gòu):Redis
一般scylladb>canssdra>hbase

1.3 是否高并發(fā)寫入,隨機(jī)讀多于范圍讀?

需要支持高并發(fā)寫入,隨機(jī)讀多于范圍讀?hbase、cassandra,hbase范圍讀更優(yōu)。

1.4 海量數(shù)據(jù)存儲(chǔ),支持水平擴(kuò)展,分布式容錯(cuò)?

需要支持海量數(shù)據(jù)存儲(chǔ),支持水平擴(kuò)展,分布式容錯(cuò)NOSQL 如:resis、hbase、Cassandra、mongodb

1.5 需要全文搜索?

支持全文搜索海量數(shù)據(jù)用Elasticsearch
支持全文搜索數(shù)據(jù)量可控用pg GIST索引。

1.6 存儲(chǔ)復(fù)雜數(shù)據(jù)模型?

支持存儲(chǔ)復(fù)雜數(shù)據(jù)模型文檔數(shù)據(jù)庫mongodb

1.7 OLTP OR OLAP OR離線分析?

? OLTP(聯(lián)機(jī)事務(wù)處理)行存數(shù)據(jù)庫 mysql 、pg
? OLAP(聯(lián)機(jī)分析處理)列存數(shù)據(jù)庫高壓縮 gp 、clickhouse
離線分析:hbase

1.8 金融級(jí)要求高可用、數(shù)據(jù)不丟

支持?jǐn)?shù)據(jù)不丟?oceanbase、阿里云mysql金融版、mysql group replication

1.9 需要事務(wù)而且海量數(shù)據(jù)存儲(chǔ)

? ?分庫分表drds、sharding-jdbc+關(guān)系型數(shù)據(jù)庫
newsqlTiDB

1.10 CAP權(quán)衡

CAP: 一致性(Consistency)、可用性(Availability)、分區(qū)容錯(cuò)性(Partition tolerance)。

保證CA關(guān)系型數(shù)據(jù)庫
保證CPhbase、redis、mongodb
保證APcassandra、riak 、couchdb

1.11 特殊業(yè)務(wù)場(chǎng)景

地理信息系統(tǒng)GISPG>ES>Mongodb
?時(shí)序TaosDB>influxdb>opentsdb

1.12 開發(fā)角度,業(yè)務(wù)迭代快,需要schema free

對(duì)開發(fā)友好:關(guān)系型數(shù)據(jù)庫都行。另外就是MongoDB,不過也有兩面性,不如關(guān)系型數(shù)據(jù)庫有嚴(yán)格的約束,將任意類型的任意值插入任意集合,有時(shí)候會(huì)帶來負(fù)面作用。

1.13 運(yùn)維角度

易運(yùn)維cassandra>hbase


?

總結(jié)

以上是生活随笔為你收集整理的数据库架构设计——数据库选型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。