BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Oracle NoSQL数据库介绍

| 作者 Jonathan Allen 关注 595 他的粉丝 ,译者 孙镜涛 关注 2 他的粉丝 发布于 2013年3月3日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

Oracle的键-值数据库(简称“Oracle NoSQL数据库”)已经更新到了版本2.0。该数据库本质上是一个Berkeley DB的分布式前端,但是它提供了更多的功能。

Oracle NoSQL数据库和Oracle数据库做了深度集成。通过Oracle的外部表功能,可以对NoSQL数据库编写SQL查询,甚至可以连接关系表。同时它还支持Hadoop 以及 Apache的 map-reduce技术。

在运营方面,“它支持SNMP/JMX,能够和Oracle及第三方管理工具集成”。(JMX指 Java管理扩展,大概从Java5之后它便是标准的暴露应用程序状态的方式。)

和MongoDB等流行的数据库不同的是,Oracle NoSQL数据库除了提供最终一致性之外,还提供了绝对一致性。Peter Wayner 解释说:

注意,这个结构使用Oracle级(Oracle-grade)的严肃性存储数据。如果你不想使用由许多其他的NoSQL存储所提供的懒鬼级(slacker-grade)的最终一致性,可以通过Oracle NoSQL在所有复制节点的机器上使用绝对一致性。为此将会牺牲写入性能,当然这取决于你的选择。

顺便说一下,这不仅仅是一个二元决定。你可以在某个、大多数或者所有节点向磁盘发送完数据之后告诉Oracle NoSQL注销该写入方式。文档中将这个特性称之为持久化策略。

如果程序员有时间搭理这些内容,则可以利用其中的一些灵活性。所有的键-值对都有一个版本号,如果你想要在复制时做一些自己的事情那么可以自己查看该版本号。如果你试图提升修改记录时的性能,这对你会有所帮助。

它可以存储通用对象,那些关注性能的人可能想要查看Avro 模式。文档中宣称:

使用Avro模式能够将序列化的值存储到一个空间高效的二进制格式中。除了一个小的内部模式识别符(大小介于1至4个字节之间)之外,每一个存储值都没有任何元数据。每一个键-值对都会存储一个这样的引用。通过这种方式,被序列化的Avro数据格式始终会和序列化它的模式关联,同时开销最小。这种关联对应用程序是透明的,同时内部的模式识别符由AvroCatalog类所提供的绑定管理。应用程序永远不会看见或者直接使用内部的标识符。

NoSQL数据库社区版基于AGPL许可提供。当然也有商业许可的企业版。

查看英文原文:A Look at Oracle’s NoSQL Database

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT