行业动态 Industry dynamic
当前位置:首页 > 新闻中心 > 行业动态
Oracle加入NoSQL阵营
发布日期:2011-10-17 阅读次数:757 字体大小: 标签:OracleNoSQL

  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 集成,如下图描述:

image

   如果过去 Oracle 认为关系型数据库可以存储任何数据,现如今它已经认识到,处理大容量、实时数据对于关系型数据库来说是“不可能完成的任务”,正如他们在一份关于 Oracle NoSQL Database 更加详细的技术白皮书(PDF)中承认:

分析像网站点击流之类的大容量、实时数据时,利用非结构化和半结构化的数据源会提供显著的业务优势,创造更多的业务价值。传统的关系型数据库无法完成上述任务,因此企业会基于十年来对分布式哈希表(DHTs)与传统关系型数据库系统或嵌入式键/值存储——比如 Oracle 的 Berkeley DB 来构建,以开发出高可用性的分布式键-值存储系统。

  Oracle 将会为 NoSQL Database 提供完整的商业支持。

  查看英文原文:Oracle Joins the NoSQL Club