[筆記]資料儲存方式分析及策略
紀錄一下筆記
關聯式資料庫(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 | 高 | 高 | 高 |
參考資料