簡而言之,數據庫是用于存儲數據的倉庫,該倉庫根據特定規則將數據存儲在磁盤上。為了方便用戶組織和管理數據,它提供了一個數據庫管理系統。通過數據庫管理系統,用戶可以有效地組織和管理存儲在數據庫中的數據。那么數據庫系統又是什么呢?數據庫的種類又有哪些呢?在了解這兩個問題之前,先來看看數據庫是什么吧。
數據庫系統是什么?
數據庫(DataBase,DB)提供了一個存儲空間來存儲各種數據,可以將數據庫視為一個存儲數據的容器。一個數據庫可能包含許多文件,一個數據庫系統中通常包含許多數據庫。
數據庫管理系統(DatabaseManagementSystem,DBMS)是用戶創建、管理和維護數據庫時所使用的軟件,位于用戶和操作系統之間,對數據庫進行統一管理。DBMS能定義數據存儲結構,提供數據的操作機制,維護數據庫的安全性、完整性和可靠性。
數據庫系統(DatabaseSystem,DBS)由硬件和軟件共同構成。硬件主要用于存儲數據庫中的數據,包括計算機、存儲設備等。軟件部分主要包括數據庫管理系統、支持數據庫管理系統運行的操作系統,以及支持多種語言進行應用開發的訪問技術等。
DBMS(數據庫管理系統)主要通過數據的保存格式進行分類,現階段主要分為以下幾種類型。
層次數據庫(Hierarchical?Database,HDB)
層次數據庫是最早研制成功的數據庫系統,它把數據通過層次結構(樹形結構)的方式表現出來。層次數據庫曾經是數據庫的主流,但隨著關系數據庫的出現和普及,現在已經很少使用了。
比較具有代表性的層次數據庫是IMS(InformationManagementSystem)數據庫,由IBM公司研制成功。
關系型數據庫(Relational?Database,RDB)
關系型數據庫是現在應用最廣泛的數據庫。關系型數據庫在1969年誕生,可謂歷史悠久。和Excel工作表一樣,關系型數據庫也采用由行和列組成的二維表來管理數據,所以簡單易懂。同時,它還使用SQL(StructuredQueryLanguage,結構化查詢語言)對數據進行操作。
面向文檔(Document-Oriented)數據庫
文檔型數據庫的靈感來自于LotusNotes辦公軟件,和最后一種鍵值存儲數據庫類似。文檔型數據庫可以看作是鍵值數據庫的升級版,允許之間嵌套鍵值。而且文檔型數據庫比鍵值數據庫的查詢效率更高。
面向文檔數據庫會將數據以文檔的形式存儲。每個文檔都是一系列數據項的集合。每個數據項都有一個名稱與對應的值,值既可以是簡單的數據類型,如字符串、數字和日期等;也可以是復雜的類型,如有序列表和關聯對象。
數據存儲的最小單位是文檔,同一個表中存儲的文檔屬性可以是不同的,數據可以使用XML、JSON或者JSONB等多種形式存儲。
具有代表性的面向文檔數據庫有MongDB和CouchDB。
列存儲(Column-oriented)數據庫
列存儲數據庫將數據存儲存在列族(columnfamily)中,一個列族用來存儲經常被一起查詢的相關數據。例如,如果有一個Person類,我們經常會一起查詢他們的姓名和年齡而不是薪資。這種情況下,姓名和年齡就會被放入一個列族中,而薪資則在另一個列族中。
列存儲數據庫通常用來應對分布式存儲的海量數據。具有代表性的列存儲數據庫有Cassandra和HBase。
XML數據庫(XML?Database,XMLDB)
XML數據庫是一種支持對XML(標準通用標記語言下的一個應用)格式文檔進行存儲和查詢等操作的數據管理系統。在系統中,開發人員可以對數據庫中的XML文檔進行查詢、導出和指定格式的序列化。
鍵值存儲數據庫(Key-Value?Store,KVS)
鍵值存儲數據庫是用來保存查詢所使用的主鍵(Key)和值(Value)的組合的數據庫。具有編程語言知識的讀者可以把它想象成關聯數組或者散列(hash)。
以上就是關于數據庫系統是什么,以及數據庫的種類有哪些的全部內容,想了解更多關于數據庫的信息,請繼續關注中培偉業。