设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

PostgreSQL获得更好的NoSQL性能

2014-6-3 14:35| 发布者: joejoe0332| 查看: 2336| 评论: 0|原作者: Roopesh Shenoy|来自: infoQ

摘要: PostgreSQL 9.4测试版带来了备受期待的“二进制JSON”类型JSONB。这种面向文档数据的新的存储格式性能更优,而且带来了索引和用于操作JSON数据的函数和操作符。 ...

  PostgreSQL 9.4测试版带来了备受期待的“二进制JSON”类型JSONB。这种面向文档数据的新的存储格式性能更优,而且带来了索引和用于操作JSON数据的函数和操作符。


  JSONB类型融合了HStore和JSON两个项目。JSONB拥有JSON的一切,但它由于采用二进制表示而存储更高效,由于索引而速度更快。当前所有的HStore和JSON用户预计最终都将转到JSONB。


  既然PostgreSQL的传统客户群一直是需要可靠的关系功能的开发人员,或者是从像Oracle这样的企业数据库切换过来的用户,那么为什么NoSQL功能对它而言如此重要?Josh Berkus是团队的核心成员之一,他分享了一些看法


虽然Oracle的市场目前很大,但根本就不增长。Oracle用户中会转向PostgreSQL的人实际数目比那个更少。不管我们增加多少功能,我们永远都无法成为Oracle,也无法比Oracle做的更好。


创新技术之所以会成功是因为他们获得了新用户并扩大了市场。


  另外,同一话题中的其它评论明确指出,若干将PostgreSQL与Node、Python、Go或者Ruby技术一起使用的创业公司是如何期待着使用快速JSON支持。


  考虑到这些问题,很明显,对JSON提供一流的性能支持,而又无损于其传统强项,如可靠性,可以帮助PostgreSQL增加新的应用场景。


  也有一些领域,使用其它的NoSQL数据库可能更合适——比如,EnterpriseDB的核心团队成员和高级数据库架构师Bruce Momijan就建议(通过邮件)——


即使PostgreSQL扩展了功能和性能,也仍然有一些边缘情况,NoSQL解决方案可能更适合。对于有大量重复的非结构化数据,如日志文件,列 存储的Cassandra就很好,它添加新节点更方便。不过,Postgres将准备好用于既能从NoSQL功能受益又需要符合ACID的应用程序。


  EnterpriseDB的主要贡献者和高级数据库架构师Robert Haas补充道——


一个例子就是,如果你正将MapReduce用于高度并发的查询处理,那么,在那种情况下,用像Hadoop那样的东西可能更好。另一个例子就是,如果你的数据模型需要对JSON大对象做大量小的更改,那么也许有若干NoSQL解决方案都能更高效地处理这种情况。


  不过,除了特定的应用场景外,对于那些需要在同一个应用程序中针对不同的数据类型灵活地选用无模式存储或关系型存储以及需要保证ACID的开发人员而言,Postgres就开始能够做出令人信服的案例了。


  请注意,JSONB并不是9.4中引入的唯一的主要功能,还有其它几项:


  • 数据更改流API(Data Change Streaming API)”允许对复制流进行解码和转换。这为支持高速和更灵活复制的新复制工具和扩展解决方案奠定了基础。
  • 带有“refresh concurrently”选项的物化视图
  • ALTER SYSTEM SET允许从SQL命令行和远程客户端修改postgresql.conf,使管理更简单。


  另外,它还包含若干小的功能——



  读者可以从发布说明中查看完整的更新列表。


  查看英文原文:PostgreSQL Gets Better NoSQL Capabilities


  转自 http://www.infoq.com/cn/news/2014/05/postgresql-9-4?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部