目錄
一、前言
二、選型維度
三、相關資料:
一、前言
架構師在作業中經常會遇到資料庫存盤選型的問題,而市面上資料庫產品眾多,往往會無從下手,甚至有時候從業務開發到上線運維程序中會多次更換底層資料庫,給整個研發中心帶來不必要的額外作業,
結合業務場景做資料庫存盤選型的時候,可以綜合以下幾個維度去考慮:
二、選型維度
1、業務是否需要保證ACID事務?
事務具有4個特征,分別是原子性、一致性、隔離性和持久性,
YES:主流的關系型資料庫:MySQL、pg(PostgreSQL)等
NO:主流NOSQL如:MongoDB、hbase、cassandra等
2、要求低延遲?
對性能要求極致,不擔心資料丟失的選擇:memcache
資料生命周期短,資料量相對小,性能要求高,需要存盤靈活的資料結構:Redis
一般scylladb>canssdra>hbase
3、是否高并發寫入,隨機讀多于范圍讀?
YES: hbase、cassandra,hbase范圍讀更優,
4、海量資料存盤,支持水平擴展,分布式容錯?
YES:分布式 NOSQL 如:resis、hbase、Cassandra、mongodb
5、需要全文搜索?
YES:海量資料用Elasticsearch;資料量可控用pg GIST索引,
6、存盤復雜資料模型?
YES:檔案資料庫mongodb
7、OLTP OR OLAP OR離線分析?
OLTP(聯機事務處理):行存資料庫 mysql 、pg
OLAP(聯機分析處理):列存資料庫高壓縮 gp 、clickhouse
離線分析:hbase
8、金融級要求高可用、資料不丟
oceanbase、阿里云mysql金融版、mysql group replication
9、需要事務而且海量資料存盤
分庫分表:drds、sharding-jdbc+關系型資料庫
newsql:TiDB
10、CAP權衡
CAP: 一致性(Consistency)、可用性(Availability)、磁區容錯性(Partition tolerance),
CA :關系型資料庫
CP :hbase、redis、mongodb
AP :cassandra、riak 、couchdb
11、特殊業務場景
地理資訊系統GIS:PG>ES>Mongodb
時序:TaosDB>influxdb>opentsdb
12、開發角度,業務迭代快,需要schema free
對開發友好:關系型資料庫都行,另外就是MongoDB,不過也有兩面性,不如關系型資料庫有嚴格的約束,將任意型別的任意值插入任意集合,有時候會帶來負面作用,
13、運維角度
易運維 cassandra>hbase
三、相關資料:
阿里云開發者社區—資料庫選型: https://developer.aliyun.com/ask/268162?utm_content=g_1000096922
ClickHouse是什么: https://blog.csdn.net/likun557/article/details/109733541
MongoDB、ElasticSearch、Redis、HBase這四種熱門資料庫的優缺點及應用場景: https://zhuanlan.zhihu.com/p/37964096
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/242365.html
標籤:其他
上一篇:舒江林學期總結
下一篇:安卓開發學期學習總結(第一學期)
