Oracle加入NoSQL陣營

jopen 13年前發布 | 32K 次閱讀 Oracle NOSQL

Oracle 最近發布了一種大數據設備,其中運行有 Oracle NoSQL Database,它是基于 Oracle Berkeley DB Java Edition 的新鍵-值存儲系統。該系統的特性包括:十億行級的記錄存儲能力、TB 級的B-樹存儲能力、ACID 事務、CRUD、分片(sharding)、無單點故障、通過數據中心間復制進行災難恢復等等。

Oracle 是關系型數據庫的標準,它在2011年5月發布了白皮書“揭穿 NoSQL 的不實宣傳”。Oracle 試圖在其中證明 NoSQL 數據存儲存在很多問題,包括沒有標準 API、能源利用效率低、只在諸如 Google 這樣的大公司才可行、缺少安全性等等,這篇文章得出下述結論:

人們普遍認為,目前 NoSQL 數據庫與關系型數據庫相比尚未成熟。它們[NoSQL]的功能仍很初級。一般來說只在數據量不是非常大或性能壓力不大的情況下才部署 NoSQL 數據庫。部署的 NoSQL 數據庫數量比較小。基于 NoSQL 數據庫的應用程序開發模型也面臨挑戰,因為它增加了實現的復雜性。而系統的高可用性和 SLAs 仍有待評估。

我們應使用經驗證可靠的方法。而不要冒險將數據存儲于 NoSQL 數據庫。

有趣的是,這份文檔已經從 Oracle 的網站上撤下,但還可以從因特網上找到。撤銷這份文檔的原因與這次發布的大數據設備有關,根據 OpenWorld 2011大會上的一份主題講演,該設備是“一種為獲取、組織和加載非結構化數據而優化的工程系統”,基于新的 Oracle NoSQL Databse,可伴隨 Apache Hadoop、Oracle Data Integrator with Application Adapter for Handoop、Oracle Loader for Hadoop 和開源分布式統計語言R一起使用。

Oracle NoSQL Database 是一種鍵-值數據存儲,設計時考慮到了高擴展性和高可用性,并可部署于多個互相復制的節點上,以便進行快速故障切換及負載均衡。我們可以通過 Java API 提供的 Get、Put 和 Delete 操作訪問數據,這些 API 都打包在一個獨立的 JAR 文件中。 其它特性包括:

  • 由純 Java 編寫

  • 容量:十億條的記錄存儲能力和 TB 級B-樹存儲能力

  • 自動的、基于 hash 函數的分區和數據分布

  • ACID 事務

  • 完整的 CRUD 操作和可調整的持久性保證

  • 無單點故障

  • 支持分片

  • 單一和多存儲節點的故障容錯性

  • 通過數據中心間的復制進行災難恢復

  • 支持數千個節點

  • 節點級的備份/回復

Oracle NoSQL Database(在一份 PDF 官方文檔中也被稱為 Oracle NoSQL Database 11g,這有些容易引起誤會)基于開源的 Oracle Berkeley DB Java Edition 存儲引擎構建,并通過 Data Integrator 與 Oracle Database 11g 集成,通過 In-Database Map-Reduce 與 Hadoop 集成,如下圖描述:

Oracle加入NoSQL陣營

  如果過去 Oracle 認為關系型數據庫可以存儲任何數據,現如今它已經認識到,處理大容量、實時數據對于關系型數據庫來說是“不可能完成的任務”,正如他們在一份關于 Oracle NoSQL Database 更加詳細的技術白皮書(PDF)中承認:

分析像網站點擊流之類的大容量、實時數據時,利用非結構化和半結構化的數據源會提供顯著的業務優勢,創造更多的業務價值。傳統的關系型數據庫無法完成上述任務,因此企業會基于十年來對分布式哈希表(DHTs)與傳統關系型數據庫系統或嵌入式鍵/值存儲——比如 Oracle 的 Berkeley DB 來構建,以開發出高可用性的分布式鍵-值存儲系統。

Oracle 將會為 NoSQL Database 提供完整的商業支持。

查看英文原文:Oracle Joins the NoSQL Club
       來自: InfoQ

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!