NO IMAGE

資料模型

資料模型是人之和運算元據時所用的模型。對於使用資料庫的人來說,資料模型描述了我們如何同資料庫中的資料打交道。它與儲存模型不同,後者描述了資料庫內容儲存及運算元據的機制。在理想情況下,使用者應該感覺不到儲存模型,然而世紀鐘,我們還是得對其略知一二,這主要是為了實現良好的效能。

SQL

在過去的幾十年中,關係型資料模型是占主導地位的資料模型,它是一組直觀的表格。每張表有若干行,每行包含相關實體。這些實體通過列來描述,行列交匯處都有單一值。列可以引用同一張表內火不同表內的其他列,從而把這些實體關聯起來。(平時所說的“表”和“行”都不是正軌術語,更正式的說法應該是“關係”和“元組”)

NoSQL

NoSQL技術與傳統的關係型資料庫相比,一個最明顯的轉變就是拋棄了關係模型。每種NoSQL解決方案的模型都是不同的。下面吧NoSQL生態系統的廣泛使用的模型分為四類:“鍵值”(hashtable)、“文件”.,”列族”和“圖”前三類資料庫模型有一個共同特徵,我們稱其為“面向聚合”。

面向聚合

聚合:在”領域驅動設計“中,我們想把一組相互關聯的物件視為一個整體單元來操作,而這個單元就叫聚合。我們通過原子操作更新聚合的值,並且在與資料儲存通訊時,也是以聚合為單位。選用面向聚合模型的決定性因素,在於它非常適合在叢集上執行。這也是NoSQL崛起的關鍵。

擴充套件

對於NoSQL中各種資料模型的介紹請見下篇文章:NoSQL模型詳解