資料模型是人之和運算元據時所用的模型。對於使用資料庫的人來說,資料模型描述了我們如何同資料庫中的資料打交道。它與儲存模型不同,後者描述了資料庫內容儲存及運算元據的機制。在理想情況下,使用者應該感覺不到儲存模型,然而世紀鐘,我們還是得對其略知一二,這主要是為了實現良好的效能。
在過去的幾十年中,關係型資料模型是佔主導地位的資料模型,它是一組直觀的**。每張表有若干行,每行包含相關實體。這些實體通過列來描述,行列交匯處都有單一值。列可以引用同一張表內火不同表內的其他列,從而把這些實體關聯起來。(平時所說的「表」和「行」都不是正軌術語,更正式的說法應該是「關係」和「元組」)
nosql技術與傳統的關係型資料庫相比,乙個最明顯的轉變就是拋棄了關係模型。每種nosql解決方案的模型都是不同的。下面吧nosql生態系統的廣泛使用的模型分為四類:「鍵值」(hashtable)、「文件」.,"列族"和「圖」前三類資料庫模型有乙個共同特徵,我們稱其為「面向聚合」。
聚合:在」領域驅動設計「中,我們想把一組相互關聯的物件視為乙個整體單元來操作,而這個單元就叫聚合。我們通過原子操作更新聚合的值,並且在與資料儲存通訊時,也是以聚合為單位。選用面向聚合模型的決定性因素,在於它非常適合在集群上執行。這也是nosql崛起的關鍵。
對於nosql中各種資料模型的介紹請見下篇文章:nosql模型詳解
論NoSQL的資料模型
本文內容是對 nosql data modeling techniques 一文的簡單概述,原文對nosql的幾種資料模型 進行了詳細深入的討論。是了解nosql資料模型不過錯過的全面資料。nosql的一些非功能性的特性,比如擴充套件性 效能以及一致性的討論,目前已經有很多。而對於nosql產品內部...
論 NoSQL 的資料模型
本文內容是對 nosql data modeling techniques 一文的簡單概述,原文對nosql的幾種資料模型進行了詳細深入的討論,是了解nosql資料模型不可錯過的全面資料。nosql的一些非功能性的特性,比如擴充套件性 效能以及一致性的討論,目前已經有很多。而對於nosql產品內部資...
NoSQL聚合資料模型
聚合資料模型的特點就是把經常訪問的資料放在一起 聚合在一塊 這樣帶來的好處很明顯,對於某個查詢請求,能夠在與資料庫一次互動中將所有資料都取出來 當然,以這種方式儲存不可避免的會有重複,重複是為了更少的互動 選用nosql資料庫,首要的工作就是設計鍵名及存放的資料 設計的原則是儘量減少所需要訪問的聚合...