互聯網(IT行業)主流數據庫詳細彙總

什麼是數據庫

維基百科上這樣定義:

以一定方式儲存在一起、能與多個用戶共享、具有儘可能小的冗餘度、與應用程序彼此獨立的數據集合。

簡單講,數據庫是一個數據倉庫,用來存儲結構化數據。

數據庫類型有哪些

早期比較流行的數據庫模型有三種,分別為層次式數據庫、網絡式數據庫和關係型數據庫。而在當今的互聯網(IT行業)中,最常用的數據庫模型主要是兩種,即關係型數據庫和非關係型數據庫。

關係型數據庫:

創建在關係模型基礎上的數據庫,藉助於集合代數等數學概念和方法來處理數據庫中的數據。現實世界中的各種實體以及實體之間的各種關聯均採用關係模型來表示。

數據保存在不同的二維表裡,而一個關係型數據庫就是由二維表及其之間的聯繫所組成的一個數據組織。

傳統的關係型數據庫,如MySql、Oracle、db2、SqlServer、PostgreSql等採用行式存儲法。

非關係型數據庫:

非關係型數據庫也被稱為 NoSQL(Not Only SQL的縮寫) 數據庫,是對不同於傳統的關係型數據庫的數據庫管理系統的統稱,可用於超大規模數據的存儲。這些類型的數據存儲不需要固定的模式(當然也有固定的模式),無需多餘的操作就可以橫向擴展。

NoSQL數據庫擁有高併發、易擴展、可伸縮性,大數據下讀寫能力較強,而且操作簡單,弱結構化存儲等通用優點。

NoSQL 劃分為 4 種類型:鍵值數據庫、列式數據庫、文檔數據庫和圖形數據庫。

鍵值數據庫:使用一個哈希表,表中的 Key(鍵)用來定位 Value(值),即存儲和檢索具體的 Value。

典型代表:Memcached、Redis(臨時性鍵值存儲),ROMA、Redis (永久性鍵值存儲)

優點:

  • 查找速度快
    缺點:
  • 數據無結構化
  • 列式數據庫:以列簇式存儲,每行列數可變,將一列數據存儲在一起。

    典型代表:Cassandra、HBase、HP Vertica、EMC Greenplum

    優點:

  • 查找速度快
  • 擴展性強
  • 缺點:

  • 功能相對侷限
  • 文檔數據庫:通過鍵來定位一個文檔的,是鍵值數據庫的一種衍生品。

    典型代表:MongoDB,CouchDB

    優點:

  • 數據結構要求不嚴格
  • 表結構可變
  • 不需要預先定義表結構
    缺點:
  • 查詢性能不高
  • 缺乏統一的查詢語法
  • 圖形數據庫:以圖論為基礎,用圖來表示一個對象集合,包括頂點及連接頂點的邊。

    典型代表:Neo4J、OrientDB、InfoGrid、Infinite Graph 、GraphDB

    優點:

  • 利用圖結構相關算法
    缺點:
  • 要對整個圖做計算才能得出需要的信息
  • 不太好做分佈式的集群方案。
  • 關係型數據庫對比分析

    MySql:關係型數據庫,瑞典MySql公司開發,屬於Oracle公司下的產品,是一個客戶機/服務器結構的應用。

    優點:

  • 完全多線程,支持多處理器;
  • 同時訪問數據庫的用戶數量不受限制;
  • 可以保存超過5千萬條記錄;
  • 運行速度快;
  • 用戶權限設置簡單、有效;
  • 體積小、成本低、代碼開源;
  • 比較適合中小型項目開發。
  • 缺點:

  • 缺乏標準的RI(Referential Integrity-RI)機制;
  • 安全系統,複雜而非標準;
  • 沒有一種存儲過程(Stored Procedure)語言;
  • 不支持熱備份。
  • Oracle:關係型數據庫,甲骨文公司開發。在整個數據庫領域一直處於領先地位,是目前世界上最流行的關係數據庫管理系統。

    優點:

  • 開放性:能在所有主流平臺上運行;
  • 安全級別高,非常高;獲得最高認證級別的ISO標準認證;
  • 存儲強,數據倉庫存儲能力非常強大;
  • 支持多種操作系統;
  • 處理速度快,非常快;保持開放平臺下TPC-D和TPC-C世界記錄;
  • 缺點:

  • 價格昂貴
  • db2:關係型數據庫,IBM公司研製。主要應用於大型應用系統,具有較好的可伸縮性,支持從大型機到單用戶環境。

    優點:

  • 高層次、完整性;
  • 最適於海量數據;
  • 開放性、可移植性好;
  • 可擴展性好;
  • 自動衝突檢測;
  • DB2公認為電子商務基石。
  • 缺點:

  • 關閉機制有一定的不足;
  • SqlServer:關係型數據庫,微軟公司產品。

    優點:

  • 操作簡單;
  • 全圖形界面;
  • 可伸縮性;
  • 靈活性、擴充性好;
  • 價格便宜。
  • 缺點:

  • 安全性:沒有獲得任何安全證書;
  • 性能 :多用戶時性能不佳;
  • PostgreSql:關係型數據庫,美國加州大學計算機系研發。

    優點:

  • 支持繼承、函數重載;
  • 複雜的sql、大量的分析函數,非常適合數據倉庫;
  • 多CPU利用率比較高;
  • 缺點:

  • 對資源消耗比較大;
  • 不支持類型自動轉換,需要顯示轉換或添加CAST;
  • sql語法限制比較嚴格。
  • 非關係型數據庫

    #僅以MongoDB為例簡單介紹

    MongoDB:介於關係數據庫和非關係數據庫之間,C++語言編寫,分佈式文件存儲,可擴展的高性能數據存儲,是一種NoSQL的數據庫。存放xml、json、bson類型的數據,數據結構由鍵值(key=>value)對組成。

    優點:

  • 不需要編寫sql語句;
  • 不需要建表,只需定製Collection,MongoDB自動創建Collection。
  • 數據讀寫速度十分快;
  • 高可用和集群架構擁有十分高的擴展性;
  • 適合文檔格式的存儲與查詢;
  • 適合做數據倉庫。
  • 缺點:

  • 不支持事務操作、佔用空間過大。
  • 國內有哪些比較優秀的數據庫呢

    南大通用、武漢達夢、人大金倉、神舟通用等。


    ok,以上就是互聯網(IT行業)主流數據庫詳細彙總,看完記得轉發、點贊和收藏。想了解更多內容,請關注本小編,如果有錯誤,歡迎批評指正,感謝支持。

    (雲渺書齋)


    分享到:


    相關文章: