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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2024/1/8 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库架构设计——数据库选型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要

架構師在工作中經常會遇到數據庫存儲選型的問題,而市面上數據庫產品眾多,往往會無從下手,甚至有時候從業務開發到上線運維過程中會多次更換底層數據庫,給整個研發中心帶來不必要的額外工作。結合業務場景做數據庫存儲選型的時候,可以綜合以下幾個維度去考慮:

一、技術選型維度

1.1 業務是否需要保證ACID事務?

事務具有4個特征,分別是原子性、一致性、隔離性和持久性

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

1.2 要求低延遲

?對性能要求極致,不擔心數據丟失的選擇memcache
數據生命周期短,數據量相對小,性能要求高,需要存儲靈活的數據結構:Redis
一般scylladb>canssdra>hbase

1.3 是否高并發寫入,隨機讀多于范圍讀?

需要支持高并發寫入,隨機讀多于范圍讀?hbase、cassandra,hbase范圍讀更優。

1.4 海量數據存儲,支持水平擴展,分布式容錯?

需要支持海量數據存儲,支持水平擴展,分布式容錯NOSQL 如:resis、hbase、Cassandra、mongodb

1.5 需要全文搜索?

支持全文搜索海量數據用Elasticsearch
支持全文搜索數據量可控用pg GIST索引。

1.6 存儲復雜數據模型?

支持存儲復雜數據模型文檔數據庫mongodb

1.7 OLTP OR OLAP OR離線分析?

? OLTP(聯機事務處理)行存數據庫 mysql 、pg
? OLAP(聯機分析處理)列存數據庫高壓縮 gp 、clickhouse
離線分析:hbase

1.8 金融級要求高可用、數據不丟

支持數據不丟?oceanbase、阿里云mysql金融版、mysql group replication

1.9 需要事務而且海量數據存儲

? ?分庫分表drds、sharding-jdbc+關系型數據庫
newsqlTiDB

1.10 CAP權衡

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

保證CA關系型數據庫
保證CPhbase、redis、mongodb
保證APcassandra、riak 、couchdb

1.11 特殊業務場景

地理信息系統GISPG>ES>Mongodb
?時序TaosDB>influxdb>opentsdb

1.12 開發角度,業務迭代快,需要schema free

對開發友好:關系型數據庫都行。另外就是MongoDB,不過也有兩面性,不如關系型數據庫有嚴格的約束,將任意類型的任意值插入任意集合,有時候會帶來負面作用。

1.13 運維角度

易運維cassandra>hbase


?

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。