1. 什麼是分布式存儲系統
分布式存儲系統
定義
分布式存儲系統是大量普通PC伺服器通過Internet互聯,對外作為一個整體提供存儲服務
特性
可擴展
低成本
高性能
易用
挑戰
分布式存儲系統的挑戰主要在於數據、狀態信息的持久化,要求在自動遷移、自動容錯、並發讀寫的過程中保證數據的一致性。分布式存儲涉及的技術主要來自兩個領域:分布式系統以及資料庫。
數據分布
一致性
容錯
負載均衡
事務與並發控制
易用性
壓縮/解壓縮
分類
非結構化數據,一般的文檔
結構化數據, 存儲在關系資料庫中
半結構化數據,HTML文檔
不同的分布式存儲系統適合處理不同類型的數據:
分布式文件系統
非結構化數據,這類數據以對象的形式組織,不同對象之間沒有關聯,這樣的數據一般稱為Blob(二進制大對象)數據
典型的有Facebook Haystack 以及 Taobao File System
另外,分布式文件系統也常作為分布式表格系統以及分布式資料庫的底層存儲,如谷歌的GFS可以作為分布式表格系統Google Bigtable 的底層存儲,Amazon的EBS(彈性存儲塊)系統可以作為分布式資料庫(Amazon RDS)的底層存儲
總體上看,分布式文件系統存儲三種類型的數據:Blob對象、定長塊以及大文件
分布式鍵值系統
較簡單的半結構化數據,只提供主鍵的CRUD(創建、讀取、更新、刪除)
典型的有Amazon Dynamo 以及 Taobao Tair
分布式表格系統
較復雜的半結構化數據,不僅支持CRUD,而且支持掃描某個主鍵范圍
以表格為單位組織數據,每個表格包括很多行,通過主鍵標識一行,支持根據主鍵的CRUD功能以及范圍查找功能
典型的有Google Bigtable 以及 Megastore,Microsoft Azure Table Storage,Amazon DynamoDB等
分布式資料庫
存儲結構化數據,一般是由單機關系資料庫擴展而來
典型的包括MySQL資料庫分片集群、Amazon RDS以及Microsoft SQL Azure
2. 請問資料庫有哪些種類呢
資料庫共有3種類型,為關系資料庫、非關系型資料庫和鍵值資料庫。
1、關系資料庫
MySQL、MariaDB(MySQL的代替品,英文維基網路從MySQL轉向MariaDB)、Percona Server(MySQL的代替品·)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle資料庫、Sybase、dBASE、Clipper、FoxPro、foshub。
幾乎所有的資料庫管理系統都配備了一個開放式資料庫連接(ODBC)驅動程序,令各個資料庫之間得以互相集成。
2、非關系型資料庫(NoSQL)
BigTable(Google)、Cassandra、MongoDB、CouchDB。
3、鍵值(key-value)資料庫
Apache Cassandra(為Facebook所使用):高度可擴展、Dynamo、LevelDB(Google)。
(2)dynamo採用什麼方式存儲數據擴展閱讀:
資料庫模型:對象模型、層次模型(輕量級數據訪問協議)、網狀模型(大型數據儲存)、關系模型、面向對象模型、半結構化模型、平面模型(表格模型,一般在形式上是一個二維數組。如表格模型數據Excel)。
資料庫的架構可以大致區分為三個概括層次:內層、概念層和外層。