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認為關系型數據庫可以存儲任何數據,現如今它已經認識到,處理大容量、實時數據對于關系型數據庫來說是“不可能完成的任務”,正如他們在一份關于Oracle NoSQL Database更加詳細的技術白皮書(PDF)中承認:
分析像網站點擊流之類的大容量、實時數據時,利用非結構化和半結構化的數據源會提供顯著的業務優勢,創造更多的業務價值。傳統的關系型數據庫無法完成上述任務,因此企業會基于十年來對分布式哈希表(DHTs)與傳統關系型數據庫系統或嵌入式鍵/值存儲——比如Oracle的Berkeley DB來構建,以開發出高可用性的分布式鍵-值存儲系統。
Oracle將會為NoSQL Database提供完整的商業支持。
查看英文原文:Oracle Joins the NoSQL Club
譯者 姚九強 是一名業務分析師,機器人愛好者,目前在ThoughtWorks。關注敏捷方法、運維和業務模型。
版權所有,轉載請注明出處 本文出自:
版權所有,歡迎轉載,轉載請注明出處,謝謝
posted on 2011-10-21 11:18
hoojo 閱讀(563)
評論(0) 編輯 收藏 所屬分類:
DataBase 、
Oracle 、
Others 、
業界動態