[筆記]資料儲存方式分析及策略

[筆記]資料儲存方式分析及策略

紀錄一下筆記

關聯式資料庫(RDBMS)

優點

1. 利用ACID屬性確保事務的完整性

屬性

說明

原子性(Atomicity)

要就完成交易中所有的操作,不然就都不執行

一致性(Consistency)

交易的開始及結束,資料庫中所有數據要保持狀態一致

隔離性(Isolation)

交易表現就像是它對資料庫執行的唯一操作

持久性(Durability)

交易完成時,操作將不能更改

2. 由於表格和表格間的關聯型結構,減少資料重複,提高事務的處理能力。

缺點

1. 因為同步複製的方式將資料寫入多個節點,會有節點數和地理位置的限制。

2. 很難進行分片或分區操作,可拓展性受限。

NO SQL

NoSQL有時也稱作Not Only SQL的簡寫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱;兩者存在許多顯著的不同點,其中最重要的是NoSQL不使用SQL作為查詢語言。其數據存儲可以不需要固定的表格模式,也經常會避免使用SQL的JOIN操作,一般有水平可擴展性的特徵。NOSQL的實現具有二個特徵:使用硬碟,或者把隨機存儲器作存儲載體;儲存方式為鍵-值(key-value)。

優點

通過簡化的數據儲存模型和鍵-值對應,提供很高的可拓展性和性能:把對象和實體間的關聯限制到最少,因為減少了關聯,所以系統能分布在多個節點上。

缺點

和RDBMS一樣有節點數量及地理位置的限制。

資料儲存

儲存方式分析

儲存方式

擴展成本限制

嵌入的關係

靈活性

文件系統

NO SQL

RDBMS

考慮條件

1. 數據間的關聯程度

2. 解決方案的發展程度

3. 數據的讀寫比例

4. 數據是否更新

5. 系統成本不要超過收益

策略

1. 只有要求事務完整性或數據間有關係的資料,才需要使用關聯式資料庫。

2. 如果系統是「一次寫,多次讀」,即不會發生讀寫衝突的情況下,文件系統是很好的選擇。

策略

增長速度

資料關聯

讀/寫衝突

採用文件系統

採用NO SQL

採用大型的RDBMS

採用多個小型RDBMS

參考資料

高擴展性網站的五十條原則

關聯式資料庫的ACID

NoSQL

NoSQL的現狀