自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

論NoSQL的數(shù)據(jù)模型

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
本文內(nèi)容是對(duì)《NoSQL Data Modeling Techniques》一文的簡(jiǎn)單概述,原文對(duì)NoSQL的幾種數(shù)據(jù)模型進(jìn)行了詳細(xì)深入的討論。是了解NoSQL數(shù)據(jù)模型不過(guò)錯(cuò)過(guò)的全面資料。

本文內(nèi)容是對(duì)《NoSQL Data Modeling Techniques》一文的簡(jiǎn)單概述,原文對(duì)NoSQL的幾種數(shù)據(jù)模型進(jìn)行了詳細(xì)深入的討論。是了解NoSQL數(shù)據(jù)模型不過(guò)錯(cuò)過(guò)的全面資料。

NoSQL的一些非功能性的特性,比如擴(kuò)展性、性能以及一致性的討論,目前已經(jīng)有很多。而對(duì)于NoSQL產(chǎn)品內(nèi)部數(shù)據(jù)模型相關(guān)的知識(shí)一直比較欠缺,本文就希望能夠系統(tǒng)地對(duì)NoSQL數(shù)據(jù)模型進(jìn)行一些探討。

我們大致先將NoSQL數(shù)據(jù)模型劃分為下面幾類(lèi):Key-Value存儲(chǔ)、類(lèi)BigTable數(shù)據(jù)庫(kù)、文檔數(shù)據(jù)庫(kù),全文索引引擎以及圖數(shù)據(jù)庫(kù)。

下面先上一個(gè)簡(jiǎn)單有趣的示例圖,簡(jiǎn)單描述各個(gè)不同數(shù)據(jù)模型的構(gòu)造:

 

 

對(duì)照上面的圖片,我們對(duì)幾種數(shù)據(jù)模型進(jìn)行簡(jiǎn)單的描述:

  • Key-Value模型是最簡(jiǎn)單,也是最方便使用的數(shù)據(jù)模型,它支持簡(jiǎn)單的key對(duì)value的鍵值存儲(chǔ)和提取
  • Key-Value模型的一個(gè)大問(wèn)題是它通常是由HashTable實(shí)現(xiàn)的,所以無(wú)法進(jìn)行范圍查詢(xún),所以有序Key-Value模型就出現(xiàn)了,有序Key-Value可以支持范圍查詢(xún)
  • 雖然有序Key-Value模型能夠解決范圍查詢(xún)和問(wèn)題,但是其Value值依然是無(wú)結(jié)構(gòu)的二進(jìn)制碼或純字符串,通常我們只能在應(yīng)用層去解析相應(yīng)的結(jié)構(gòu)。而類(lèi)BigTable的數(shù)據(jù)模型,能夠支持結(jié)構(gòu)化的數(shù)據(jù),包括列,列簇,時(shí)間戳以及版本控制等元數(shù)據(jù)的存儲(chǔ)。
  • 而文檔型存儲(chǔ)相對(duì)到類(lèi)BigTable存儲(chǔ)又有兩個(gè)大的提升。一是其Value值支持復(fù)雜的結(jié)構(gòu)定義,二是支持?jǐn)?shù)據(jù)庫(kù)索引的定義。
  • 全文索引模型與文檔型存儲(chǔ)的主要區(qū)別在于文檔型存儲(chǔ)的索引主要是按照字段名來(lái)組織的,而全文索引模型是按字段的具體值來(lái)組織的。
  • 圖數(shù)據(jù)庫(kù)模型也可以看作是從Key-Value模型發(fā)展出來(lái)的一個(gè)分支,不同的是它的數(shù)據(jù)之間有著廣泛的關(guān)聯(lián),并且這種模型支持一些圖結(jié)構(gòu)的算法。

對(duì)于NoSQL與關(guān)系型的差別,簡(jiǎn)單總結(jié)如下:

  • NoSQL數(shù)據(jù)庫(kù)的數(shù)據(jù)模型通常與實(shí)際需求更貼近。通常使用關(guān)系型數(shù)據(jù)庫(kù)時(shí),需要關(guān)心的問(wèn)題是“數(shù)據(jù)庫(kù)能提供哪些功能”,而NoSQL模型關(guān)心得更多的是“可以解決哪些問(wèn)題”
  • 使用NoSQL數(shù)據(jù)模型,通常需要你對(duì)存儲(chǔ)的內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)算法有一定的了解。
  • 使用NoSQL數(shù)據(jù)庫(kù),通常要自己處理數(shù)據(jù)結(jié)構(gòu)解析和數(shù)據(jù)的冗余復(fù)制問(wèn)題。
  • 對(duì)于關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),對(duì)數(shù)據(jù)分級(jí)存儲(chǔ)的處理并不強(qiáng)。但是對(duì)圖數(shù)據(jù)庫(kù),或者說(shuō)其它的NoSQL數(shù)據(jù)庫(kù)來(lái)說(shuō),對(duì)數(shù)據(jù)的分級(jí)處理都是預(yù)先考慮的。

目前簡(jiǎn)單將NoSQL幾個(gè)分類(lèi)的代表產(chǎn)品列舉如下:

  • Key-Value 存儲(chǔ): Oracle Coherence, Redis, Kyoto Cabinet
  • 類(lèi)BigTable存儲(chǔ): Apache HBase, Apache Cassandra
  • 文檔數(shù)據(jù)庫(kù): MongoDB, CouchDB
  • 全文索引: Apache Lucene, Apache Solr
  • 圖數(shù)據(jù)庫(kù): neo4j, FlockDB

更多內(nèi)容請(qǐng)移步原文:highlyscalable.wordpress.com

原文鏈接:http://blog.nosqlfan.com/html/3689.html

【編輯推薦】

  1. 如何定義NoSQL
  2. MoreSQL(NewSQL)挑戰(zhàn) NoSQL?
  3. 甲骨文NoSQL數(shù)據(jù)庫(kù)第一印象
  4. 先睹為快:甲骨文NoSQL數(shù)據(jù)庫(kù)
  5. 分布式緩存能否作為NoSQL數(shù)據(jù)庫(kù)?

 

責(zé)任編輯:林師授 來(lái)源: NoSQLFan
相關(guān)推薦

2009-11-12 16:39:02

ADO.NET實(shí)體數(shù)據(jù)

2010-05-26 14:37:56

Cassandra數(shù)據(jù)

2021-02-28 22:20:25

2017-06-27 10:08:29

數(shù)據(jù)倉(cāng)庫(kù)模型

2009-09-18 14:07:51

LINQ to SQL

2021-01-27 05:34:33

Python對(duì)象模型

2020-10-14 06:28:38

數(shù)據(jù)倉(cāng)庫(kù)模型

2025-04-24 09:26:13

大模型AI人工智能

2010-08-11 09:29:25

FlexJava數(shù)據(jù)模型

2016-11-02 12:32:47

數(shù)據(jù)分析大數(shù)據(jù)模型

2021-07-14 10:09:05

架構(gòu)模型數(shù)據(jù)

2022-08-15 14:49:12

物聯(lián)網(wǎng)數(shù)據(jù)模型存儲(chǔ)

2022-12-09 09:39:01

數(shù)據(jù)治理

2022-11-15 08:21:49

物聯(lián)網(wǎng)數(shù)據(jù)模型Apache

2014-06-30 14:20:05

NoSQL數(shù)據(jù)庫(kù)

2016-01-07 11:25:12

數(shù)據(jù)模型訓(xùn)練數(shù)據(jù)

2009-07-20 14:14:03

PowerDesign

2022-06-14 08:02:35

關(guān)系模型數(shù)據(jù)模型文檔模型

2024-11-15 11:43:21

2023-02-26 17:46:03

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)