根據數據的類型,結構,數據模型,數據存儲使用,不同的系統需求,所需的架構或查詢機制,用于本地存儲的動態配置數據的系統,與操作關系數據庫完全不同的要求,但是根據分類有非關系型和關系數據庫管理系統。
????1、關系型數據庫
關系型數據,用于根據模式存儲數據,關系數據庫為表的集合,每個表都有一個模式,表中項目具有的固定屬性和數據類型。提供讀取,創建,更新和刪除數據的功能,通常通過結構化查詢語言SQL語句。關系數據庫中的表具有與之關聯的密鑰,這些密鑰用于標識表的特定列或行。數據完整性在關系數據庫中尤為重要,關系數據庫具有以下幾點。
? ? Oracle:Oracle數據庫是由Oracle公司開發的多模型數據庫管理系統。
????MySQL:MySQL是一種基于結構化查詢語言的開源關系數據庫管理系統。MySQL幾乎可以在所有平臺上運行,包括Linux,UNIX和Windows。
????SQL Server: SQL Server數據庫適合企業環境中的各種事務處理,商業智能和分析應用程序。
????PostgreSQL:PostgreSQL是一個對象關系數據庫管理系統,強調可擴展性和標準合規性。
????DB2:DB2是一種用于高效存儲,分析和檢索數據的關系型數據庫。
????關系數據庫標準定義明確,都符合ACID標準,滿足原子性,一致性,隔離性和持久性的要求。但是也有缺點,由于模式和類型約束,對非結構化或半結構化數據的效果不佳,不適合大型分析或事件加載。關系數據庫中的表不一定與表示對象一對一映射,源表和目標表之間的模式和類型通常必須相同才能工作。
????2、非關系數據庫
????隨著Web應用程序變得越來越復雜,NoSQL數據庫成為關系數據庫的流行替代品,NoSQL非關系數據庫可以采用多種形式。但是,NoSQL和關系數據庫之間的關鍵區別在于嚴格定義了插入數據庫的所有數據必須如何輸入和組合,而NoSQL數據庫可以與模式無關,允許存儲和操作非結構化和半結構化數據。
鍵值存儲是極其簡單的數據庫管理系統,僅存儲鍵值對并提供用于檢索與已知鍵關聯的值的基本功能,鍵值存儲使得這些數據庫管理系統特別適合嵌入式數據庫,其中存儲的數據不是特別復雜,速度至關重要。
? ? 列存儲是與模式無關的系統,用戶能夠將數據存儲在表中,這些解決方案的設計目標是擴展龐大的分布式系統,管理數千個服務器的數PB數據。
????文檔存儲包括MongoDB 和Couchbase是無架構的系統,以JSON文檔的形式存儲數據。文檔存儲類似于鍵值或寬列存儲,但文檔名稱是鍵,文檔的內容都是值。在文檔存儲中,單個記錄不需要統一的結構,可以包含許多不同的值類型,并且可以嵌套。這種靈活性特別適合于跨分布式系統管理半結構化數據。
????圖形數據庫例如Neo4J將數據表示為相關節點或對象的網絡,以便于數據可視化和圖形分析。圖數據庫中的節點或對象包含通過關系連接并根據標簽分組的自由格式數據。面向圖形的數據庫管理系統軟件的設計重點在于說明數據點之間的連接。
????由于NoSQL數據庫很多類型,無架構數據模型更靈活,更易于管理。NoSQL數據庫通常具有更高的水平可伸縮性和容錯性。數據可以輕松地分布在不同的節點上,要提高可用性或分區容差,NoSQL數據解決方案成熟,需要特定的專業知識。
我來說兩句