先睹为快:甲骨文NoSQL数据库

在过去的几年里,NoSQL数据库的世界里充满了各种有趣的新项目,雄心勃勃的声明和大量信誓旦旦的承诺。有传闻称最新的NoSQL数据库软件套装通过调整所有的结构和数据库创建者多年来一直希望增加的三倍校验来实现大幅度的性能提升。可靠性如何呢?据那些没有使用NoSQL数据库来运行大规模企业级应用软件而只是从事一些琐碎交易的华尔街银行编程人员表示,可靠性是被高估了。制表结构如何呢?过于死板和有限了。如果我们将这些问题忽略的话,那么数据库的优势是免费,且运行速度很快。

NoSQL数据库的面世也十分缓慢。甲骨文-高级NoSQL数据库的顶尖研发厂商推出了一款可靠的实用的和与甲骨文非常类似的NoSQL服务器。尽管疯狂的梦想家们还在继续构建着NoSQL数据库的存储库,但认为还是希望能关注甲骨文版本。它不仅能提供很多让NoSQL数据库更加有趣的特性,但是可靠的性能号称来自大型的工程师团队。

&">nbsp;

这款产品的面世可能会让NoSQL数据库的拥趸者们(那些一直对甲骨文数据库引以为傲的守旧派们)倍感惊喜,但是甲骨文公司会暂时沿着这条路缓慢前进。五年前,甲骨文收购了Sleepycat软件公司,这家公司是开源贝克利数据库的创建者(这是一款为C和后来的JAVA编程人员设计的灵活性关键值存储上有着悠久且丰富传统的工具)。同样的贝克利数据库技术据称是甲骨文NoSQL数据库的核心,虽然看起来还需要全部重新编写代码。

甲骨文NoSQL数据库:实用的ACID

甲骨文NoSQL数据库的有趣之处是关键值结构。你不需要定义一个计划或者拘泥于大型的表格式体系结构中。你只需创建关键值并关联到字节上。你可以将你的关键值连接到字符串或者映像文件或者任何东西上。数据库可以接收字节而且无需考虑太多内容。

甲骨文公司将关键值划分为主要部分和次要部分。你可以将主要部分看做是目标指示器,将次要部分看做是记录里的域。这样你可以将名字和社会保障号码放在关键值的主要部分里,像街道地址和邮政编码这样的其他字符串放在次要部分里。和其他的一些NoSQL工具是可以进行对比的,帮助用户将多个域的目标物体的价值对比考虑。甲骨文只是使用“次要关键值”这个数据来作为域的名称。

甲骨文NoSQL数据库重要的部分是实用的ACID,NoSQL数据库可能提供的标准版。ACID指的是“细微的,相容的,独立的,持久的处理”,对于这方面的细节展开了一场激烈的争论。多数NoSQL数据库承诺是“BASE”,即“基本的可用性,软状态和最终的一致性”的首字母缩写。换句话说,你可以得到正确的答案,除非你不需要的时候。

对于甲骨文NoSQL数据库是否能提供真正的ACID存在着大量的争论。当你编写关联到同一个关键值的主要部分的数据时你只能得到ACID的承诺。举例来说,由于两部分都被存储在同一个主要关键值里,所以你可以更改同一个人的地址和邮政编码并得到ACID的保证。但是不担保两个独立人的改变将保持一致。换句话说,已将银行可以使用甲骨文NoSQL数据库来存储个人记录,但是不会用于账户间现金的安全交易,因为没有不会导致金钱损失的ACID担保。

甲骨文NoSQL数据库能够做出这种承诺,因为它可以保证一台主机能存储所有关联到主要关键值的次要关键值。将任何域的集合关联到定义一个人的主要关键值上,这个数据的所有将集中在集群的同个节点上。但是来自不同主要关键值的数据会放置在不同的服务器上,甲骨文NoSQL数据库没有一个机制来确保数据被同时写入主要关键值和次要关键值。

你还能增加复制和碎片,甲骨文将其称为“分区”。本质上来说就是安排矩阵中发生碎片的节点。如果你需要更多的可靠性和更快的读取速度,你需要沿着复制轴增加更多的系统。如果你希望减少争议,你可以沿着分区轴增加更多的系统。甲骨文NoSQL数据库能为你应对更多此类配置。

这不止是个二进制的判断。你可以让甲骨文NoSQL数据库终止写入,或者多数节点已经完成了数据到硬盘的发送。文件将这个特性称之为持久力协议。

这种灵活性也可以供编程人员使用,如果你有时间来为此担心的话。所有的关键值配对都伴随着一个版本号。如果你想在修改记录时提高性能这种方式是有帮助的。

持续性:备受争议

耶鲁大学计算科学系教授丹尼尔.阿巴迪的博客引发了有关最终持续性的争议。阿巴迪指出在某些情况下,写入到主关键值的新配对可能会在主关键值被切断后丢失。美国哈佛大学计算机科学教授,同时也是甲骨文的员工马格.赛尔查则持不同的观点。她加入了被收购的Sleepycat公司。

赛尔查认为一切都要取决与你对“最终持续性”的理解。数据库所有者会选择利用他们对持续性协议的机会。如果所有者希望确保一个配对不会丢失,他们必须所有写入的数据要等到所有副本被升级以后。

为了测试甲骨文NoSQL数据库的速度,笔者采用给了一种低端测试,将更多的压力放在数据库引擎上而不是网络上。笔者从单节点NoSQL服务器开始,然后尝试了358400个关联到关键值的关键值(恰红包含了大约30个字符的串),在老型号的Mac计算机上的速度是119秒。使用小容量随机存储器的老型号设备是测试有限资源下性能的一种方式。

作为对比,笔者有同样的配对测试了Voldemort的新版本,这是一款来自于Linkedln的用JAVA开发的开源NoSQL数据库。在同款设备上花费了180秒。

由于在甲骨文NoSQL数据库里存储数据看起来会涉及到一些管理费用,因此笔者只进行了一些简单的测试。创建需要构建串序列的关键值,目标实例通常是Java代码的瓶颈。看起来在这些测试都没有构成问题。

总的来说,甲骨文NoSQL数据库很愿意进行尝试,因为它能提供如此丰富的特性,可以进行更加深入的数据管理。工具比简单的NoSQL项目要更加的彻底和久经考验。在面对节点故障时,你有各种不同的选择来提高耐久力。

甲骨文NoSQL数据库可能无法提供给你惊喜,只能积累对于开源NoSQL项目的经验,但是这确实不是它的角色。甲骨文从中吸取了最好的想法来向企业市场传递最佳的性能。

甲骨文NoSQL数据库会从甲骨文悠久的传统中分离出来。笔者发现安装和运行甲骨文主要数据库比较困难。对比之下,开源社区能做的更好。有用户表示最重要的MySQL在测试和重新测试安装配置上要做的更好。

甲骨文NoSQL数据库显然是来自拥有开源传统经验的研发团队。唯一的问题是在将本地主机更改为127.0.0.1时遇到的。这是一个很大的改进。

(责任编辑:蒙遗善)

时间: 2024-10-25 17:23:03

先睹为快:甲骨文NoSQL数据库的相关文章

甲骨文公布其 NoSQL 数据库 Blueprints API

Oracle NoSQL,顾名思义,这是甲骨文的NoSQL数据库,基于Java版本的Berkeley DB,主要面向"需要处理海量数据.不确定数据的架构.想采集更多的流媒体数据的客户". Blueprints是一组针对属性图数据模型的接口.实现.测试套件,有些类似于JDBC,不同之处在于Blueprints是针对图形数据库的.Blueprints提供了一组通用的接口,允许开发者在他们的图形数据库后端即插即用.  以下项目采用了Blueprints作为基本技术: Pipes:一个数据流框

甲骨文公司日前宣布推出Oracle NoSQL数据库2.0版

北京,2012年12月28日--甲骨文公司日前宣布推出Oracle NoSQL数据库2.0版(Oracle NoSQL Database 2.0),持续推动其在数据管理技术领域的创新.这是一款具有高可扩展性.低延迟.面向实时大数据工作负载的核心价值数据库. Oracle NoSQL数据库2.0版增加了对存储和大型对象(如文档和图像)检索的支持,以及在应对不断变化的生产数据处理要求时,用于分配存储和计算资源的动态弹性和自动重新调整性能. Oracle NoSQL数据库2.0版实现了与Oracle数

超越传统:NoSQL数据库大比拼 助你轻松选择数据库

在两三年前,选择数据库是一件非常容易的事.资金充足的企业会选择甲骨文数据库,使用微软产品的企业通常SQL Server,而预算不足企业则会选择MySQL.不过,如今的情况已经大不相同了. 最近两三年,许多企业都推出了他们自己的开源项目以用于存储信息.在许多案例中,这些项目抛弃了传统的关系型数据库准则.许多人将这些项目称为NoSQL,即"Not Only SQL"的缩写.虽然有些NoSQL数据库很简单,但是还有一部分NoSQL数据库极为复杂.不过,它们的目标都是通过替代关系型数据库,并实

小白学数据之NoSQL数据库 进阶篇

写在前面 这篇是小白学数据系列的NoSQL数据库的第二篇:进阶篇.数据分析方向的从业人员可以从中获取数据仓库软件市场的现状和分析,以增加自己的知识储备,为可能的技术转型打基础.而工程师可以找到关于NoSQL主流产品的分析介绍以及选择数据库的一些准则.NoSQL不是万能药,采用技术最好不要跟风,选择适合自己数据和应用的才是最好的哟~没有看过NoSQL基础篇的读者可以在文末的历史文章回顾中找到. ◆ ◆ ◆ 小白问:上次问了NoSQL,SQL的区别,好像有点忘了,我们可以温故而知新一下吗? 答:..

在您企业的业务中整合NoSQL数据库的10项小贴士

NoSQL数据库提供的灵活敏捷性.可扩展性.性能和可用性,并能够支持当今企业所采用的多种应用程序,但对于NoSQL数据库的部署却并不总是一件能够轻松容易实现的任务.而在本文中,我们将为广大读者介绍关于如何在您的企业组织中整合NoSQL系统的10项小贴士. 现如今,数据正推动着企业的创新及其业务的增长,但这只是针对那些为有效处理数据做好了充分准备的企业组织而言的. 尽管关系型数据库仍然拥有其一席之地,但鉴于今天的数据的复杂性.庞大的数据量以及企业对于数据处理的需求,使得关系型数据库已然无法很好的适

NoSQL数据库修成正果?

就在今天,传统数据库领域的三大厂商之一IBM宣布,将在未来的DB2旗舰级数据库中添加NoSQL功能.而恰恰在昨天,数据库领导者Oracle也宣布发布其最新的NoSQL Database,虽然这两款产品有着本质性区别(Oracle NoSQL Datbase将作为独立产品发布,是基于Berkeley DB:IBM的NoSQL数据库将迁入到DB2和Informix当中,具体的技术细节并未发布.),但是一个不争的事实就是,NoSQL技术已经得到了最为广泛的认可,但是这是否就意味着NoSQL运动修成正果

Oracle发布NoSQL数据库

Oracle作为全球最大的关系型数据库提供商,在其产品链条中,也加入了NoSQL数据库这一环,而且这个新的数据库名字很霸气,就叫NoSQL Database. Oracle的这个NoSQL Database,是在10月4号的甲骨文全球大全上发布的Big Data Appliance的其中一个组件,Big Data Appliance是一个集成了Hadoop.NoSQL Database.Oracle数据库Hadoop适配器.Oracle数据库Hadoop装载器及R语言的系统. 下面是NoSQL

关系型数据库和NOSQL数据库对比

关系型数据库,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库中的数据.主流的 oracle.DB2.MS SQL Server和mysql都属于这类传统数据库. NoSQL数据库,全称为Not Only SQL,意思就是适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储.主要分为临时性键值存储(memcached.Redis).永久性键值存储(ROMA.Redis).面向文档的数据库(MongoDB

使用NoSQL 数据库提供云级别数据可伸缩性

就创建.交流.访问内容.共享信息和购买产品而论,快速扩展的新一代基于 Internet 的服务(比如电子邮件.博客.社交媒体.搜索和电子商务)实际上重新定义了 Web 用户的行为和趋势.由于这些系统的数量的不断增多,IT 专业人士正见证着所生成数据和所消耗数据的规模的扩大,不断增长的伸缩性需求和新功能需求为传统关系型数据库管理系统 (RDBMS) 带来了新的挑战. 我们先来了解一下低成本高性能 NoSQL 数据库软件.NoSQL  数据库软件的主要特性包括: 能够水平扩展数据. 支持较弱的一致性