iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 1
0
AI & Data

MongoDB 初學者的筆記系列 第 1

理解 MongoDB(1)

近期開始安裝 MongoDB , MongoDB使用記憶體對映檔案, 32位元系統上限制大小為2GB的資料(64位元支援更大的資料)。
MongoDB是一種 NoSQL DB, 它的特徵有下列幾點:

1.Schema-less 
但不用先定義 schema。每一筆記錄的欄位數量與結構也可以不一樣。紀錄的內容與限制條件主要由應用程式來控管。

2.Shared nothing architecture 
通常採用本地儲存、而非共同儲存設備(如 SAN 或 NAS)。本地磁碟的存取速度較透過網路傳輸快,也能透過增加節點的方式來擴充容量。使用一般規格的硬體即可(commodity hardware),故成本也隨之下降。

3.Elasticity
只需增加更多主機,便能立即擴充儲存容量與負載能力,所以不需要有停機時間(downtime)。當新節點加入後,資料庫便會開始分配任務給它。

4.Sharding 
不將儲存視為龐大的空間,取而代之的是以「分片」(shard)方式來分割資料集。分片可在主機間進行複製(replication),但一個分片至少會由一部主機來管理。分片過大時,可採用自動分割方式,或者以程式為每一筆記錄指派所屬的分片ID。

5.Asynchronous replication
NoSQL DB通常採用的是非同步的複製。這種方式較不會受到額外網路流量影響,所以能使寫入動作更快完成。又因為資料不會立即複製,所以某些時候可能發生資料遺失的狀況。此外,也沒有 lock 機制以保護某些特定資料。

6.BASE instead of ACID 
在「CAP Theorem」會比關聯式資料庫的「ACID」更為重要。如此一來可以提高效能與可用度。

下一篇
資料區分(2)
系列文
MongoDB 初學者的筆記33

尚未有邦友留言

立即登入留言