數(shù)據(jù)模型與查詢語言
語言的邊界就是世界的邊界.
消除數(shù)據(jù)重復是數(shù)據(jù)庫規(guī)范化的核心思想.
融合關系模型與文檔模型是未來數(shù)據(jù)庫發(fā)展的一條很好的路徑捺弦。
數(shù)據(jù)模型
關系模型
關系模型與1970年由Edgar Codd提出伦籍。關系模型:數(shù)據(jù)被組織成關系(relations),在SQL中被稱為表(table)仅财,其中每個關系都是元組(tuples)的無序集合(在SQL中被稱為行)
關系數(shù)據(jù)庫的核心在于商業(yè)數(shù)據(jù)處理舷蒲。
SQL是現(xiàn)在最著名的數(shù)據(jù)模型驹沿。
關系模型的目標就是將實現(xiàn)細節(jié)隱藏在更簡潔的接口后面游添。
網(wǎng)絡模型 vs 層次模型 vs 關系模型 vs NoSQL
對象數(shù)據(jù)庫 vs XML數(shù)據(jù)庫
文檔模型
NoSQL 這個名字是不恰當?shù)氖1颍驗樗鋵嵅⒉淮砭唧w的某些技術酷麦,它最初只是作為一個吸引人眼球的Twitter標簽頻頻出現(xiàn)在2009年的開源、分布式及非關系數(shù)據(jù)庫的見面會上『砹担現(xiàn)在其含義已經被逆向解釋為“不僅僅是SQL”沃饶。
采用NoSQL數(shù)據(jù)庫有這樣幾個驅動因素:
- 更好的擴展性需求,包括支持超大數(shù)據(jù)集或超高寫入吞吐量
- 關系模型不能很好的支持一些特定的查詢操作
- 對關系模式一些限制性感到沮喪轻黑,渴望更具動態(tài)和表達力的數(shù)據(jù)模型
文檔數(shù)據(jù)庫是某種方式的層次模型:即在其父記錄中保存了嵌套記錄(例如:一對多關系)糊肤。但在表示多對一和多對多的關系上,二者并沒有根本的不同氓鄙。
關系數(shù)據(jù) VS 文檔數(shù)據(jù)庫
支持文檔數(shù)據(jù)模型的主要論點是模式靈活馆揉,由于局部性而帶來較好的性能。關系模型則強在聯(lián)結操作抖拦,多對一和多對多關系更簡潔的表達上升酣。
對于高度關聯(lián)的數(shù)據(jù),文檔模型不太適合态罪,關系模型可以勝任噩茄,而圖模型則是最為自然的。
數(shù)據(jù)查詢語言
SQl是一種聲明式查詢語言复颈,而IMS和CODASYL則是命令式绩聘。
使用聲明式的CSS樣式表比用JavaScript命令式地操作樣式要好得多。
MapReduce是一個相當?shù)讓拥哪P秃睦玻糜谠谟嬎慵荷戏植际綀?zhí)行凿菩。