中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

五大主流數據庫模型分別是什么

發布時間:2022-01-14 16:36:52 來源:億速云 閱讀:127 作者:柒染 欄目:云計算

小編今天帶大家了解五大主流數據庫模型分別是什么,文中知識點介紹的非常詳細。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內容,希望能夠幫助更多想解決這個問題的朋友找到問題的答案,下面跟著小編一起深入學習“五大主流數據庫模型分別是什么”的知識吧。

什么是數據模型?

訪問數據庫中的數據取決于數據庫實現的數據模型。數據模型會影響客戶端通過API對數據的操作。不同的數據模型可能會提供或多或少的功能。一般而言,數據模型不會直接提供過多的功能,許多功能必須由客戶端自行實現。

數據模型決定了客戶端如何對數據進行編碼存儲。應用程序需要某種域模型與存儲技術支持的特性進行映射。

迄今為止,主導的數據模型仍然是關系模型。在這里,我們主要想為大家介紹一下非關系模型,作為對比,本文也會簡要介紹一下關系模型。

數據模型概述

1.關系模型

關系模型使用記錄(由元組組成)進行存儲,記錄存儲在表中,表由架構界定。表中的每個列都有名稱和類型,表中的所有記錄都要符合表的定義。SQL是專門的查詢語言,提供相應的語法查找符合條件的記錄,如表聯接(Join)。表聯接可以基于表之間的關系在多表之間查詢記錄。

表中的記錄可以被創建和刪除,記錄中的字段也可以單獨更新。

關系模型數據庫通常提供事務處理機制,這為涉及多條記錄的自動化處理提供了解決方案。

對不同的編程語言而言,表可以被看成數組、記錄列表或者結構。表可以使用B樹和哈希表進行索引,以應對高性能訪問。

2.鍵值存儲

鍵值存儲提供了基于鍵對值的訪問方式。

鍵值對可以被創建或刪除,與鍵相關聯的值可以被更新。

鍵值存儲一般不提供事務處理機制。

對不同的編程語言而言,鍵值存儲類似于哈希表。對此,不同的編程語言有不同的名字(如,Java稱之為“HashMap”,Perl稱之為“hash”,Python稱之為“dict”,PHP稱之為“associative array”),C++則稱之為“boost::unordered_map<...>”。

鍵值存儲支持鍵上自有的隱式索引。

鍵值存儲看起來好像不太有用,但卻可以在“值”上存儲大量信息。“值”可以是一個XML文檔,一個JSON對象,或者其它任何序列化形式。

重要的是,鍵值存儲引擎并不在意“值”的內部結構,它依賴客戶端對“值”進行解釋和管理。

3.文檔存儲

文檔存儲支持對結構化數據的訪問,不同于關系模型的是,文檔存儲沒有強制的架構。

事實上,文檔存儲以封包鍵值對的方式進行存儲。在這種情況下,應用對要檢索的封包采取一些約定,或者利用存儲引擎的能力將不同的文檔劃分成不同的集合,以管理數據。

與關系模型不同的是,文檔存儲模型支持嵌套結構。例如,文檔存儲模型支持XML和JSON文檔,字段的“值”又可以嵌套存儲其它文檔。文檔存儲模型也支持數組和列值鍵。

與鍵值存儲不同的是,文檔存儲關心文檔的內部結構。這使得存儲引擎可以直接支持二級索引,從而允許對任意字段進行高效查詢。支持文檔嵌套存儲的能力,使得查詢語言具有搜索嵌套對象的能力,XQuery就是一個例子。MongoDB通過支持在查詢中指定JSON字段路徑實現類似的功能。

4.列式存儲

如果翻轉數據,列式存儲與關系存儲將會非常相似。與關系模型存儲記錄不同,列式存儲以流的方式在列中存儲所有的數據。對于任何記錄,索引都可以快速地獲取列上的數據。

Map-reduce的實現Hadoop的流數據處理效率非常高,列式存儲的優點體現的淋漓極致。因此,HBase和Hypertable通常作為非關系型數據倉庫,為Map-reduce進行數據分析提供支持。

關系類型的列標對數據分析效果不好,因此,用戶經常將更復雜的數據存儲在列式數據庫中。這直接體現在Cassandra中,它引入的“column family”可以被認為是一個“super-column”。

列式存儲支持行檢索,但這需要從每個列獲取匹配的列值,并重新組成行。

5.圖形數據庫

圖形數據庫存儲頂點和邊的信息,有的支持添加注釋。

圖形數據庫可用于對事物建模,如社交圖譜、真實世界的各種對象。IMDB(Internet Movie Database)站點的內容就組成了一幅復雜的圖像,演員與電影彼此交織在一起。

圖形數據庫的查詢語言一般用于查找圖形中斷點的路徑,或端點之間路徑的屬性。Neo4j是一個典型的圖形數據庫。

選擇哪一種數據模型?

數據模型有著各自的優缺點,它們適用于不同的領域。不管是選擇關系模型,還是非關系模型,都要根據實際應用的場景做出選擇。也許你會發現單一的數據模型不能滿足你的解決方案,許多大型應用可能需要集成多種數據模型。(張志平/編譯)

感謝大家的閱讀,以上就是“五大主流數據庫模型分別是什么”的全部內容了,學會的朋友趕緊操作起來吧。相信億速云小編一定會給大家帶來更優質的文章。謝謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南宫市| 稻城县| 溧阳市| 内乡县| 唐海县| 平顺县| 潞城市| 永嘉县| 潍坊市| 河东区| 乌拉特前旗| 琼中| 乌鲁木齐市| 宁陕县| 钟山县| 嘉定区| 出国| 鹤山市| 长治县| 大余县| 新河县| 肥城市| 白玉县| 邮箱| 江永县| 阿尔山市| 揭东县| 巴塘县| 密山市| 岳西县| 昌图县| 贵德县| 湖南省| 彭阳县| 旺苍县| 凤庆县| 乌兰察布市| 武平县| 阿鲁科尔沁旗| 武强县| 柯坪县|