最全的資料庫分類及實例介紹

2021-01-08 itworld123

資料庫從字面上的理解就是數據的倉庫,其實我們平時說的資料庫是指資料庫管理系統(Database Management System),它是一種操縱和管理資料庫的大型軟體,用於建立、使用和維護資料庫,簡稱DBMS。嚴格來說資料庫是資料庫管理系統的實例,一個資料庫管理系統可以有多個資料庫實例。

資料庫種類很多,我們平時接觸最多的恐怕就是Oracle資料庫,或者MySQL數據。兩者是應用最廣泛的關係型數據。如圖1是2018年12月份使用情況排名,從排名也可以看出上述兩個資料庫分別排第一名和第二名。

圖1 資料庫排名

資料庫的分類

如果仔細看圖1的排名就可以看到,資料庫不僅僅有我們平時學到的關係型資料庫,還有鍵值(Key-Value)資料庫、列存儲資料庫、文檔資料庫和搜尋引擎等類型。下面本文將簡單介紹一下各種類型的數據。

關係型資料庫: 這種類型的資料庫是最古老的資料庫類型,關係型資料庫模型是把複雜的數據結構歸結為簡單的二元關係(即二維表格形式), 如圖2是一個二維表的實例。通常該表第一行為欄位名稱,描述該欄位的作用,下面是具體的數據。在定義該表時需要指定欄位的名稱及類型。

圖2 資料庫表實例

在關係型資料庫中,對數據的操作幾乎全部建立在一個或多個關係表格上。在大型系統中通常有多個表,且表之間有各種關係。實際使用就是通過對這些關聯的表格分類、合併、連接或選取等運算來實現資料庫的管理。

鍵值存儲資料庫:鍵值資料庫是一種非關係資料庫,它使用簡單的鍵值方法來存儲數據。鍵值資料庫將數據存儲為鍵值對集合,其中鍵作為唯一標識符。

3

如圖2是某公有雲的鍵值存儲示意圖,其中鍵包含分區鍵和排序鍵,而值包含更多的實際信息。比如實際使用是可以以學號為鍵,姓名、性別、年齡和班級等信息為值進行存儲。實際存儲形式很靈活,是業務需求自行定義即可。

列存儲資料庫:列式存儲(column-based)是相對於傳統關係型資料庫的行式存儲(Row-basedstorage)來說的。簡單來說兩者的區別就是對表中數據的存儲形式的差異。

圖4 列存儲數據

如圖4是傳統行資料庫和列資料庫表中數據在磁碟上的存儲形式的差異對比。對於行存儲資料庫,表中的數據是以行為單位逐行存儲在磁碟上的;而對於列存儲資料庫,表中的數據則是以列為單位逐列存儲在磁碟中。

列存儲解決的主要問題是數據查詢問題。我們知道,平時的查詢大部分都是條件查詢,通常是返回某些欄位(列)的數據。對於行存儲數據,數據讀取時通常將一行數據完全讀出,如果只需要其中幾列數據的情況,就會存在冗餘列,出於縮短處理時間的考量,消除冗餘列的過程通常是在內存中進行的。而列存儲,每次讀取的數據是集合的一段或者全部,不存在冗餘性問題。這樣,通過這種存儲方式的調整,使得查詢性能得到極大的提升。

面向文檔資料庫:此類資料庫可存放並獲取文檔,可以是XML、JSON、BSON等格式,這些文檔具備可述性(self-describing),呈現分層的樹狀結構(hierarchical tree data structure),可以包含映射表、集合和純量值。資料庫中的文檔彼此相似,但不必完全相同。文檔資料庫所存放的文檔,就相當於鍵值資料庫所存放的「值」。文檔資料庫可視為其值可查的鍵值資料庫。

圖形資料庫:圖形資料庫顧名思義,就是一種存儲圖形關係的資料庫。圖形資料庫是NoSQL資料庫的一種類型,它應用圖形理論存儲實體之間的關係信息。關係型數據用於存儲明確關係的數據,但對於複雜關係的數據存儲卻有些力不從心。如圖4這種人物之間的關係,如果用關係型資料庫則非常複雜,用圖形資料庫將非常簡單。

圖4 圖形資料庫示例

搜尋引擎存儲:搜尋引擎資料庫是應用在搜尋引擎領域的數據存儲形式,由於搜尋引擎會爬取大量的數據,並以特定的格式進行存儲,這樣在檢索的時候才能保證性能最優。

不同類型資料庫軟體

關係型資料庫: 關係型資料庫最為經典的開源軟體就是MySQL,它最流行的開源關係型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關係資料庫管理系統)應用軟體之一。

SUN被甲骨文收購後,MySQL 的原創人員有拉出另外一個分支,命名MariaDB 。該資料庫被維基百科,Facebook 甚至 Google 等技術巨頭使用。 MariaDB 是一種可為 MySQL 提供插件替換功能的資料庫伺服器。開發人員的首要關注點是安全性,在每個版本發布時,開發人員還會合併所有 MySQL 的安全修補程序,並在需要時對其進行增強。

除此之外,還有很多開源的關係型資料庫,比如經典的文件資料庫SQLite和針對Web服務進行優化的CUBRID 等。

鍵值存儲資料庫:鍵值資料庫目前應用最多的應該是Redis,Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。Redis通常最為普通關係型資料庫的緩存層,用於降低資料庫的訪問壓力,提升系統性能。

列存儲資料庫:列存儲資料庫中最為出名的恐怕就是HBase了,HBase是 BigTable 的開源 java 版本。是建立在 HDFS 之上,提供高可靠性、高性能、列存儲、 可伸縮、實時讀寫 NoSQL 的資料庫系統。

面向文檔資料庫:文檔資料庫種類繁多,包括MongoDB、CouchDB、 Terrastore、RavenDB和OrientDB等多大十幾個。其中MongoDB是目前最為流行的文檔資料庫,其介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。其最大的特點是分布式部署,可以隨著負載的增大動態擴容,從而滿足企業業務增長的需求。

圖形資料庫:圖形種類很多,比如Neo4J、ArangoDB、OrientDB、FlockDB、GraphDB、InfiniteGraph、Titan和Cayley等。其中Neo4j 是目前最流行的圖形資料庫,支持完整的事務,在屬性圖中,圖是由頂點(Vertex),邊(Edge)和屬性(Property)組成的,頂點和邊都可以設置屬性,頂點也稱作節點,邊也稱作關係,每個節點和關係都可以由一個或多個屬性。Neo4j創建的圖是用頂點和邊構建一個有向圖,其查詢語言cypher已經成為事實上的標準。

搜尋引擎存儲:搜尋引擎資料庫最近比較火的包括Solr和Elasticsearch等。Solr是Apache 的一個開源項目,基於業界大名鼎鼎的java開源搜尋引擎Lucene。在過去的十年裡,solr發展壯大,擁有廣泛的用戶群體。solr提供分布式索引、分片、副本集、負載均衡和自動故障轉移和恢復功能。如果正確部署,良好管理,solr就能夠成為一個高可靠、可擴展和高容錯的搜尋引擎。

Elasticsearch構建在Apache Lucene庫之上,同是開源搜尋引擎。Elasticsearch在Solr推出幾年後才面世的,通過REST和schema-free的JSON文檔提供分布式、多租戶全文搜尋引擎。並且官方提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript客戶端。目前Elasticsearch與Logstash和Kibana配合,部署成日誌採集和分析,簡稱ELK,它們都是開源軟體。最近新增了一個FileBeat,它是一個輕量級的日誌收集處理工具(Agent),Filebeat佔用資源少,適合於在各個伺服器上搜集日誌後傳輸給Logstash。

好了,今天先到這,關於資料庫更為詳細的文章,請參考本號之後的文章。

相關焦點

  • UniProt 資料庫介紹
    UniProt 是目前資源最豐富、使用頻率最高的蛋白序列資料庫,今天,我們就介紹下 UniProt 資料庫及其使用。1、資料庫介紹UniProt (The Universal Protein Resource) 是信息最豐富、資源最廣的蛋白質序列資料庫,整合 Swiss-Prot、TrEMBL 和 PIR 三大資料庫的數據而成。
  • 深度學習變革視覺實例搜索
    , ALISC)中出現的相關方法,介紹一些實踐中可以提高實例搜索性能的技巧和方法。首先,本篇文章介紹了一個名為DeepFashion的衣服資料庫。為了克服領域數據的不足,一種可行的策略就是在CNN預訓練模型(訓練在其他任務數據集上的CNN模型,比如ImageNet圖像分類數據集)的基礎上,提取其中某一層的特徵圖譜(feature map),對其進行編碼得到適用於實例搜索任務的圖像特徵。本部分將根據近些年相關的論文,介紹一些主要的方法(特別的,本部分中所有的CNN模型都是基於ImageNet分類數據集的預訓練模型)。
  • 我國海洋底棲動物有了規範化分類資料庫
    近日,自然資源部第二海洋研究所組織專家在杭州召開「底棲動物分類鑑定技術與資料庫在典型海洋生態監測中的應用」項目自驗收會議。會上,專家組在聽取了任務負責人的匯報、審閱了項目組提交的各項成果資料後,一致同意項目通過自驗收。
  • 機器學習項目實踐:30+ 必備資料庫(預測模型、圖像分類、文本分類)
    原標題:機器學習項目實踐:30+ 必備資料庫(預測模型、圖像分類、文本分類) 1 新智元編譯 預測模型與機器學習專用資料庫 UCI Machine Learning Repository - UCI機器學習庫顯然是最著名的資料庫,也是尋找與機器學習知識庫相關數據集最常去的地方之一。
  • 2020:AWS雲上八大類型資料庫簡介
    我們今天從最常用的關係型資料庫開始,梳理一下AWS雲上資料庫,以及他們的主要用法。關係型資料庫RDSAmazon Quantum Ledger Database分類帳資料庫Amazon Quantum Ledger Database (Amazon QLDB)是2019年9月發布的託管的分類帳資料庫,可用於跟蹤每次的應用程式數據更改記錄,它會不斷維護完整的,而且是可驗證的更改歷史記錄,這些記錄無法修改,類似於區塊鏈。
  • SQL語言基礎:資料庫語言概念介紹
    1、概念介紹SQL(Structured Query Lanauage)結構化查詢語言是關係資料庫中最普遍使用的語言。主要包括查詢、數據操縱、數據定義、數據控制功能,是一種通用的、功能強大的關係資料庫的標準語言。
  • 「韓天絮雪」百家號權重排名-最全作者資料庫,自媒體軟文推廣平臺
    「韓天絮雪」百家號權重排名-最全作者資料庫,自媒體軟文推廣平臺 備註:本文數據來自站長之家移動傳媒平臺,文章涉及的數據依託平臺大數據計算所得,非百度官方數據,僅供參考。
  • 「欒程琳水果說」百家號權重排名-最全作者資料庫,自媒體軟文推廣...
    「欒程琳水果說」百家號權重排名-最全作者資料庫,自媒體軟文推廣平臺 備註:本文數據來自站長之家移動傳媒平臺,文章涉及的數據依託平臺大數據計算所得,非百度官方數據,僅供參考。
  • Disease Ontology:人類疾病分類資料庫
    Gene Ontology, 簡稱GO, 是最常用的基因功能注釋資料庫之一。Disease Ontolog與GO資料庫類似,通過參照MeSH, ICD等疾病分類標準,對人類的常見疾病與罕見病進行了歸納整理,提供了一個統一的,標準化的疾病分類系統,對應的文章發表在Nucleic Acids Research連結如下https://academic.oup.com/nar/article/40/D1/D940/2903651
  • 「麥兜挖白菜」百家號權重排名-最全作者資料庫,自媒體軟文推廣平臺
    「麥兜挖白菜」百家號權重排名-最全作者資料庫,自媒體軟文推廣平臺 備註:本文數據來自站長之家移動傳媒平臺,文章涉及的數據依託平臺大數據計算所得,非百度官方數據,僅供參考。
  • 飢餓鯊:世界有什麼鯊魚 全鯊魚技能及分類介紹
    導 讀 《飢餓鯊:世界》有好多鯊魚,那麼那種鯊魚才是最厲害的呢?下面小編就為玩家帶來《飢餓鯊:世界》全鯊魚技能及分類介紹,一起來看看吧。
  • 最全!植物科學常用資料庫和生物信息學工具
    https://aragwas.1001genomes.org/#/ AraGWAS:用於擬南芥的GWAS標準結果的公共人工管理資料庫    http://www.athamap.de/    擬南芥的全基因組範圍的假定的轉錄因子結合位點資料庫
  • 如何用Pandas庫實現MySQL資料庫的讀寫?
    本次分享將介紹如何在Python中使用Pandas庫實現MySQL資料庫的讀寫。首先我們需要了解點ORM方面的知識。  ORM技術  對象關係映射技術,即ORM(Object-Relational Mapping)技術,指的是把關係資料庫的表結構映射到對象上,通過使用描述對象和資料庫之間映射的元數據,將程序中的對象自動持久化到關係資料庫中。在Python中,最有名的ORM框架是SQLAlchemy。
  • 《騎馬與砍殺2》全技能效果介紹 技能分類與作用介紹
    遊戲中技能有多種分類,不同類型的技能作用是不同的,小編這裡給大家帶來了騎馬與砍殺2領主全技能效果介紹,一起來了解下吧。 騎馬與砍殺2領主全技能效果介紹 活力系 單手:單手武器戰鬥增強,不管是否持盾(由於沒有雙持設定,所以通常還是會持盾)。最均衡的戰鬥方式。
  • 「無敵英語語法」百家號權重排名-最全作者資料庫,自媒體軟文推廣...
    無敵英語語法是當前百家號中的普通號,目前帳號百家號權重為2,綜合排名位列98118名,教育分類排名位列4395名,領先了91.2%的百家號。 站長之家百家號傳媒平臺對無敵英語語法的運營數據估算如下: 預估總閱讀數:2萬-3萬,綜合排名26.3萬 ,教育分類排名5339 粉絲數:153人,綜合排名
  • 魚病知識--魚類資料庫,你值得擁有!
    該庫除了收集全球各地重要的魚類書籍與研究報告外,還收集了世界各地2340名魚類科學工作者為該資料庫無償提供的各國本土研究成果,且所有資料完全免費向世界共享,是全球公認的最大的公益性資料庫。截至2019年4月,世界魚類資料庫收錄有34200個種及亞種的信息、324900個魚類常用名、59500張魚類照片、56200個參考文獻。
  • 「Oracle資料庫」如何更改重做日誌文件的位置或者名稱?
    重做日誌文件重建後,有的時候我們需要修改它的名稱或者位置,舉個最常見的例子,本來日誌文件是在D盤,但是實際情況下D盤空間嚴重不足,這個時候我們就必須將D盤上的資料庫日誌文件移動到其它大的磁碟分區中,這就是比較常見的場景了。下面,小編為大家介紹具體的操作方法。
  • 五大化學晶體學資料庫介紹
    So,本期的乾貨就是:對晶體學資料庫來個大盤點吧!五大晶體學資料庫1.自1965年起就從事晶體數據的收集、整理與計算機化工作,該中心發展的劍橋結構資料庫系統CSDS (The Cambridge Structural Database System,簡寫為CSDS)是基於X光和中子衍射實驗唯一的小分子及金屬有機分子晶體的結構資料庫。
  • 極致經典,堪稱資料庫的...
    其實呢,MySQL並不難,這份最全的MySQL總結「MySQL性能優化和高可用架構實踐」通俗易懂,實例豐富,秉承著以「實踐為主、理論夠用」的原則,將實戰操作融入各個知識點的講解之中,能夠幫助讀者快速入門,是學習MySQL的葵花寶典。
  • 人間電影1895百家號最新權重排名-最全作者資料庫自媒體軟文發布...
    人間電影1895的簡介為中國電影圈最優質的高端人物訪談節目。人,綜合排名10.5萬 ,娛樂分類排名3.0萬 預估平均閱讀:6000次每篇,綜合排名5.1萬 ,娛樂分類排名1.5萬 文章搜索指數:3977,綜合排名7450,娛樂分類排名1158