甲骨文NoSQL数据库第一印象

对NoSQL的先行者而言,甲骨文推出NoSQL数据库可以被解读为:“模仿是最真诚的赞赏”。

过去几年间,NoSQL数据库领域充满了令人兴奋的新项目、雄心勃勃的声明,当然也有盲目的自信。NoSQL的支持者称,通过抛弃传统的结构和偏执的三次检测,新的NoSQL软件包可以提供大量性能优势。那么可靠性呢?即便是那些并不是为华尔街银行运行重要业务应用,而只是处理人们生活中琐碎而易忘数据的新程序员也认为,NoSQL的可靠性被高估了。表结构呢?它们又过于死板且局限性太大。如果我们忽略这些事情,我们的数据库将更为自由,并且速度更快。

但是在热情消退,人们开始正视现实。NoSQL数据库的无边界实验慢慢的开始回归现实。正在这时,甲骨文这个一贯开发***SQL数据库的专家带来了它的NoSQL数据库服务器,而这个新的数据库秉承了甲骨文一贯的坚固、实用,标准的开发风格。尽管狂热的梦想家能够继续创建NoSQL数据仓库,但是务实的人希望能够看一下甲骨文的版本。因为它提供了许多功能,这些功能够让NoSQL非常有趣,同时也符合严格的大型工程的手笔。NoSQL的先锋们希望告诉他们自己,模仿是最真诚的赞赏。

甲骨文NoSQL数据库的出现绝对让NoSQL粉丝感到吃惊,因为他们经常听到资深的数据库工程师在自豪地谈论甲骨文数据库。不过,甲骨文已经悄悄的在NoSQL数据库这条路上走了一段时间了。五年之前,甲骨文收购了开源伯克利数据库(BerkeleyDB)的开发商Sleepycat,为C语言和后来的Java程序员提供了灵活的键值存储。而Berkeley DB的技术据说就是甲骨文NoSQL数据库的核心,虽然看上去像是被完全重写了一遍。

甲骨文NoSQL:实用的ACID

甲骨文NoSQL数据库最有趣的地方就是它的键值结构。你不需要再去定义大纲,或者把自己锁在表结构中。你只需要创建关键字,然后把数据关联给它们就可以了。你可以给关键字连上一个字符串,也可以连上一个图像文件。什么都可以,数据库接受字节码,不去理会内容是什么。

甲骨文把关键字分为主次两个部分,你可以认为主部分是对象的指针,次部分是记录的各种字段。例如,你可以把姓名和社会保障卡号放在主部分里,把住址和邮编等等其他的字符串放在次部分里。这和一些NoSQL数据库工具使用一个对象多个字段的做法不同。

甲骨文NoSQL数据库中重要的地方是针对ACID遵从而做的近似工程,这让甲骨文NoSQL达到了SQL数据库所能够提供的严格标准。ACID的意味着事务所具备的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

不过,目前对于如何解释其具体含义还存在着很大的争议。而大多数的NoSQL系统走的是另一条路:BASE,即基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)。换句话说,你可能会得到正确的答案,除非你不做。关于甲骨文NoSQL数据库是否真正提供ACID遵从还有不少争论,但甲骨文NoSQL数据库确实可以做出这样的承诺。

***争论:最终一致性

耶鲁大学计算机科学教授Daniel Abadi在博客提出了自己的质疑。他说,在某些情况下,甲骨文NoSQL数据库向主服务器写入的关键字匹配会丢失。比如在主服务器宕机,同时备份服务器又没有准备好的情况下。

很快,哈佛大学计算机科学教授Margo Seltzer就最初了回应。Seltzer现在是甲骨文的员工,她参与创建了Sleepycat。Seltzer认为这并不是甲骨文NoSQL数据库的问题,如果要达到真正意义上的“最终一致性”,数据中心需要在准备好备份服务器的前提下才开始写入数据。而可以想见的是,要让这一争论有个最终结果是非常困难的。

为了测试甲骨文NoSQL数据库的速度,我们进行了如下测试:在一台低端的Mac计算机上开启了单点NoSQL服务器,然后往里面塞入358400条关键字,都是长度大约30的字符串。在这台老掉牙的Mac电脑上,甲骨文NoSQL数据库共用了119秒的时间。比较而言,把相同的记录插入***版的Voldermort数据库,在这个LinkedIn症状使用的开源Java NoSQL数据库上,耗时为180秒。

如此看来,甲骨文NoSQL数据库似乎领先不少。创建关键字需要建立字符串数组,而对象的实例化经常成为Java的瓶颈。在这一测试中,甲骨文NoSQL数据库似乎没有碰到这方面的问题。

总体而言,甲骨文NoSQL数据库值得一试。因为它提供了许多严谨的功能,又是来自这样一家严谨的数据库厂商。在许多方面,与简单的NoSQL工具相比,甲骨文NoSQL数据库的设计相当周到并且精巧。此外,当面临节点崩溃,或是面临要速度还是持久性的问题时,你还有许多选择,这些选择都可以增强持久性。文档具有一致性,它们由在企业客户数据存储方面拥有丰富经验的工程师所编写。

甲骨文NoSQL数据库可能不会提供令人兴奋的趣味性,以及许多纯开源NoSQL项目所具有的“随意创建”体验。不过,这并不是它的真正用处。甲骨文从这些团队那里借鉴到了***的理念,创建了能够向企业市场最适当的地方提供更佳性能的数据库产品。

原文链接:http://www.cnw.com.cn/software-open-source/htm2011/20111129_238323.shtml

【编辑推荐】

  1. 先睹为快:甲骨文NoSQL数据库
  2. 分布式缓存能否作为NoSQL数据库?
  3. Oracle宣布即日起提供NoSQL数据库下载
  4. 浅析Oracle NoSQL Database
  5. Oracle发布NoSQL数据库

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/264087.html<

(0)
管理的头像管理
上一篇2025-05-04 21:03
下一篇 2025-05-04 21:05

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注