首先看看:Oracle NoSQL数据库

甲骨文公司的分布式键值数据存储采取的是快速,灵活,以及企业级严重

甲骨文公司的分布式键值数据存储采取的是快速,灵活,以及企业级严重

在过去的几年里,NoSQL数据库的世界充满了激动人心的新项目、雄心勃勃的声明和大量的鼓舞人心的言论。大肆宣传的人说,新的NoSQL软件包通过抛弃数据库创建者多年来精心添加的所有结构和反复检查,提供了巨大的性能收益。可靠性?这些新程序员说,他们没有为华尔街的银行运行严肃的商业应用程序,只是在交易有关人们生活的琐碎、容易忘记的数据。板状结构?太墨守成规了。如果我们忽略这些东西,我们的数据库将是免费的和疯狂的快。

唉,就像爱情的夏天结束,在现实中集,具备NoSQL数据库无边界的实验正在慢慢被带回了现实。甲骨文,争创一流的开发商,防弹SQL数据库,已到达嬉皮巨星结合牢固,实用,而且很象Oracle的NoSQL的服务器。虽然疯狂的梦想可以继续手艺NoSQL数据存储,认真的人会想看看Oracle的版本。它提供了很多使NoSQL的有趣功能,但也是往往来自于工程师的大,严重队表现稳健的承诺。NoSQL的开拓者将要告诉自己,模仿是最真诚的奉承形式。

[另一个是InfoWorld:NoSQL脱颖而出:新应用程序的新数据库|7种方式使用云来做大数据的权利|得到来自事项高科技新闻的最新见解InfoWorld的技术观察博客。]

这个产品的到来可能是一个惊喜,谁听了老派DBA提供有关Oracle数据库的骄傲谈NoSQL的球迷,但甲骨文一直在慢慢地向下移动了一段时间这条路。五年前,该公司收购了Sleepycat软件,开源的Berkeley DB,具有灵活,键值存储悠久而丰富的传统,C和最近Java程序员工具的创造者。这同样Berkeley DB的技术被认为是在Oracle NoSQL数据库的核心,虽然这似乎是一个完全重写。

甲骨文NoSQL的:实际上ACID甲骨文的NoSQL的有趣的部分是键值结构。你并不需要定义一个模式或者你自己锁在了一个大表格的架构。你只需要创建密钥和附加位对他们的袋子。你可能你的关键链接到一个字符串或图像文件或任何东西。数据库接受字节并没有太多思考的内容。

Oracle将密钥分成主要部分和次要部分。你可以把主要部分看作对象指针,次要部分看作记录中的字段。因此,您可以将姓名和社会保险号放入键的主要部分,将街道地址和邮政编码等其他字符串放入次要部分。它可与其他一些NoSQL工具将pair中的值视为具有多个字段的对象的方式相媲美。Oracle只对字段的名称使用术语“minor key”。

甲骨文NoSQL的严重的部分是符合ACID,即SQL数据库,如所提供的标准的实际近似。酸是指“原子性,一致性,隔离性,耐用交易”,并有大约正是这相当于在难以忍受的细节激辩。大多数NoSQL系统答应不同的缩写,BASE,表示“基本上可用,软状态和最终一致。”换句话说,你可能会得到的时候你不在,除了正确的答案。

会有很多关于Oracle的NoSQL是否提供了真正符合ACID辩论。该承诺并非包罗万象,因为它们与SQL数据库。当你写附着在关键的同一主要部分的数据,你只能得到一个ACID承诺。例如,你可以改变同一人的地址和邮政编码,并得到一个ACID保证,因为这两个部分都在相同的主键存储。但你不能保证会变成两个独立的人将保持一致。换句话说,银行可以使用Oracle NoSQL的储存人事记录,而不是安全帐户之间转移资金,因为没有ACID保证沿途的钱不会迷路。

甲骨文NoSQL的是能够做出这个承诺,因为它保证一个主机将举行所有主要的关键字相关联的小调。附加字段的任何集合的一大关键定义一个人,而所有这些数据将在集群中的同一个节点结束。但是,从不同的主要密钥数据最终可能在不同的机器,和Oracle NoSQL的没有一个机制来确保数据将被同时写入到。

您还可以添加复制和分片,甲骨文所说的“分区”。从本质上说,你在哪里出现分片沿一个轴和整个其他发生复制安排在一个长方形的节点。如果你想要更高的可靠性和更快的读取速度,你前进的复制轴添加更多的计算机。如果你想少争,你沿着隔离线增加更多的机器。甲骨文NoSQL的处理大多数这种配置的为您服务。

同样,该结构以oracle级别的严肃性存储数据。如果您不想要这么多其他NoSQL存储提供的最终一致性承诺,Oracle NoSQL将在复制一个节点的所有机器上提供绝对一致性。当然,您将为此付出编写性能方面的代价,但这是您的选择。

这比二元决策,顺便说一句。你可以告诉甲骨文NoSQL的一个,全部或简单多数节点完成发送数据到磁盘后签署的写。文档调用此功能的耐用性政策。

一些这种灵活性是提供给您,程序员,如果你有时间给它担心。所有键值对都带有一个版本号,如果你想复制玩自己的游戏,你可以看你自己。如果你正在修改记录时试图鹅性能这可能是有益的。

最终一致性:大讨论值得一提的是关于最终一致性一个有趣的争论爆发在博客丹尼尔·阿巴迪的他是耶鲁大学计算机科学教授。他指出,在某些情况下,如果主服务器被切断与副本的联系,那么写给主服务器的新对可能会丢失,而副本将离开并选出一个对该对一无所知的新主服务器。另一种说法来自马戈•萨尔茨(Margo Seltzer),她是甲骨文(Oracle)的雇员,也是哈佛大学(Harvard)的计算机科学教授。她加入了她帮助创立的Sleepycat公司。

塞尔策认为,这一切都取决于你的意思是什么“最终一致性”。该数据库车主选择把他们与耐用性的政策机会。如果业主想确保作出这样的一对永不丢失,他们需要问所有的写操作要等到所有副本得到更新。辩论很大程度上取决于什么“最终一致性”要求,也不会那么容易决定作为一年一度的足球比赛。

为了测试甲骨文NoSQL的速度,我编造了一个低端的测试,但更强调数据库引擎比该网络。我开始了单节点的NoSQL服务器,然后在连接到该人与他们约30个字符的字符串值358400个键酿。这冉把约119秒的时候,动力不足的Mac。使用旧机器的内存有少量是一个办法,有限的资源测试性能。

作为比较,我塞进同样对伏地魔,从LinkedIn,不提供ACID承诺一个基于Java的开源的NoSQL服务器的新版本。花了180秒同一台机器上。

我对这个公认简单的测试很满意,因为在Oracle NoSQL中存储数据似乎涉及一些开销。创建键需要构建字符串数组,而对象实例化通常是Java代码的瓶颈。在这些测试中,这似乎无关紧要。

总而言之,Oracle NoSQL是一个令人愉快的尝试,因为它提供了这么多由一家在严肃数据管理方面有着悠久历史的公司开发的严肃特性。与简单的NoSQL项目相比,该工具在许多小的方面更加彻底和复杂。在面对节点崩溃时,您可以使用许多不同的选项来提高持久性,或者以持久性换取速度。文档是可靠的,由在为企业客户存储数据方面具有丰富经验的工作工程师编写。

甲骨文NoSQL的可能不提供令人兴奋的乐趣,“只是建立它”很多纯开源的NoSQL项目的试验,但是这不是真正的作用。甲骨文借由这些团体最好的想法和建造的东西,将在企业市场的甜蜜点提供良好的性能。

还有一个办法,不过,Oracle NoSQL数据库从Oracle的悠久传统出发。我一直觉得很难,有时无法安装甲骨文公司的主要数据库,并让它运行。开源社区,相比之下,一直做平滑这个过程的一个更好的工作。有人说,MySQL并最重要的事情是在测试和再测试安装,直到它被防弹和简单。

在Oracle NoSQL数据库清晰地从发展的团队,在开源的传统经验来了。唯一的安装头痛我不得不走了,当我本地主机改为127.0.0.1。这是一种很好的改善。我会交易SQL任何一天加入了简单的安装。

本文, ”首先看看:Oracle NoSQL数据库”最初发表于InfoWorld.com。按照最新的发展数据管理云计算在InfoWorld.com。有关最新的业务技术新闻,请InfoWorld.com的Twitter

了解更多关于数据爆炸在InfoWorld的数据爆炸频道。

这个故事,“首先看:Oracle NoSQL数据库”最初发表InfoWorld的

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。

©2011Raybet2

IT薪资调查:结果是