《數據庫存儲模型簡述》要點:
本文介紹了數據庫存儲模型簡述,希望對您有用。如果有疑問,可以聯系我們。
數據庫現在應該是無人不知,無人不曉,講到數據庫必然要提到兩個人:
埃德加·弗蘭克·科德(Edgar Frank Codd,1923-2003)是密執安大學哲學博士,IBM公司研究員,被譽為“關系數據庫之父”,并因為在數據庫管理系統的理論和實踐方面的杰出貢獻于1981年獲圖靈獎.1970年,科德頒發題為“大型共享數據庫的關系模型”的論文,文中首次提出了數據庫的關系模型.由于關系模型簡單明了、具有堅實的數學理論基礎,所以一經推出就受到了學術界和產業界的高度重視和廣泛響應,并很快成為數據庫市場的主流.
在1970年代前期,Michael Stonebraker就在Edgar Codd的關系數據庫論文啟發下,組織伯克利的師生,開始開發最早的兩個關系數據庫之一Ingres(另一個是IBM System R),Ingres的基礎上后來發展出Sybase和SQL Server兩大主流數據庫.Ingres在關系數據庫的查詢語言設計、查詢處理、存取辦法、并發控制和查詢重寫等技術上都有重大貢獻.
1980年代他又開發了POSTGRES項目,目的是在關系數據庫之上增加對更復雜的數據類型的支持,包含對象、地理數據、時間序列數據等.后來這個系統演變為開源的PostgreSQL,Greenplum、Aster Data、Netezza和Stonebraker自己創辦的Ilustra(后被Informix收購)等多個商業公司和開源的產品都是基于PostgreSQL開發的.
1990年代,他啟動了聯邦數據庫Mariposa,基于此創辦了Cohera公司,后被PeopleSoft收購.Mariposa和稍早的XPRS(與Randy Katz、David Patterson和John Ousterhout諸位大牛合作)和Distributed Ingres兩個項目開了一代分布式數據庫風起之先.Shared Nothing架構這一重要概念也是那個時期提出來的,這已經成為如今大數據系統的基石之一.
按關系模型來組織和管理,存儲數據,流行了30多年,最近這十年才因為數據量爆炸,為了保證性能,工業界在關系模型上做了一定的妥協,針對不同的場景,采用不同的存儲方式,沒有完全遵守數據庫模型.類似redis這種的又是非關系型數據庫,這類技術被稱之為NoSQL,還有新出現的一類數據庫,NewSQL,NewSQL是不僅具有NoSQL對海量數據的存儲管理能力,還堅持了傳統數據庫對ACID和SQL特性的支持.
NoSQL相對傳統數據庫是實踐的妥協,為了實現高吞吐量,不支持ACID數據庫的設計范式.NoSQL沒有統一的查詢語言.
依照存儲模型來說分為以下4類.
? 列式存儲模型
? 文檔數據模型
? 鍵值數據模型
? 圖式數據模型
應用場景:分布式數據存儲,在分布式文件系統上支持隨機讀寫的分布式數據存儲.
典型的產物:Hadoop/Hbase,Hypertable
數據模型:以“列”為中心進行存儲,將同一列數據存儲在一起.
優點:快速查詢,高可擴展性,易于實現分布式擴展.
應用場景:非強事務需求的web應用.
典型的產物:MongoDB,Elasticsearch
數據模型:鍵值模型,存儲為文檔模型
優點:數據模型無須事先定義,存儲很隨意.
應用場景:內容緩存,用于大量的并行數據拜訪的高負載場景.
典型的產物:Redis,DynamoDB,LevelDB
數據模型:基于哈希表實現的key-value
有點:查詢迅速,寫入迅速
缺點:數據沒有什么布局
應用場景:社交網絡、保舉系統,關系圖譜(如陌陌的附近的人這樣的功能)
典型的產物:Neo4J
數據模型:圖式布局
優點:適用于圖式計算場景
版權歸微信公眾號/頭條號《大數據和云計算技術》所有,轉載請聯系本人授權;歡迎關注,獲取最新技術資訊和深度闡發.
《數據庫存儲模型簡述》是否對您有啟發,歡迎查看更多與《數據庫存儲模型簡述》相關教程,學精學透。維易PHP學院為您提供精彩教程。