首先是:Couchbase的NoSQL新的SQL

Couchbase Server 4.0使用类似SQL的查询语言为其文档数据存储解决了NoSQL最大的难题

首先是:Couchbase的NoSQL新的SQL
Shutterstock.

Couchbase似乎可能在NoSQL数据购物中的一些局外人。毕竟,MongoDB抓住了大部分的敏捷者,而Cassandra和HBase已经缝制了大多数大数据世界,而Redis已经将默认情况下占用的钥匙/价值缓存的钥匙/价值缓存。但是,库奇巴斯并没有坐在侧链上。您可能无法从黑客新闻中了解它,但在过去的几年里,使用Couchbase Server的使用已经稳步增长。

更重要的是,最新发布的Couchbase Server 4.0具有一些功能,将继续提高其在企业界的地位。它最重要的介绍是一种类似SQL的查询语言N1QL,甚至可能会通过技术赶时髦的人注意到Couchbase。

该公司将N1QL描述为“JSON的完全灵活性和SQL的全部功能”。我不会到目前为止,因为它只是支持的SQL子集,但它在DBAS和商业分析师的范围内带来了Couchbase开发,他们经常在NoSQL世界留下。

困扰Couchbase服务器几年的一个缺点是需要用JavaScript为任何类型的查询操作编写专用的map/reduce视图。这些在操作上存在问题(一旦部署,生产视图就无法编辑,只能复制回开发并重新提交),并且对产品的新用户来说是一个相对较大的障碍。

dba的复仇

在这一点上,您认为N1QL是Couchbase的高质量trolling是可以原谅的。NoSQL数据存储的提供者实现了一种新的查询语言,即SQL?

但是,SQL没有成为偶然的数据报告和处理的标准;与数据建模,推理和互动的关系代数方法具有坚定的理论和实用的基础,并且SQL在几十年中发展成为一个有用的千万开发人员所知的有用工具。我全都是为了停止将JavaScript API转换为Pigeon-SQL DSL并正确地拥抱SQL的做法,即使它听起来有点扭曲,当NoSQL CEO表示他的公司推出了“NoSQL的SQL”时,即使听起来有点扭曲。

当然,N1QL并不完全是SQL。它将SQL '92瞄准为基础(意味着没有滤器或其他SQL 2003好东西),但扩展了它,允许对Couchbase基于JSON的文档存储进行异常查询。以下是如何在N1QL中编写一个简单查询,从名为customer的文档库中获取来自英国的客户名单:

从客户中选择名称,其中country ='英国'

您可以使用使用的文件操作员。N1QL还提供了标准的阵列操作集。例如:

选择孩子[0]。名称来自父母

此查询将从文档中的每个父级返回第一个子名称。还有更多!文档的儿童可以不确定并与父对象一起加入un关键词:

从产品P Unnest P.Categories中选择P.类别=“White Mage”的类别

此外,N1QL包含所有常规聚合 -数数平均值圆形的等等 - 您可以找到您最喜欢的SQL实现中。在幕后,N1QL就像您的期望一样,体育一个查询分析器,该分析器拍摄您的查询并提供最有效的查询计划,这些计划将在Couchbase服务器部署中运行,以返回结果。是的,你可以使用解释获取分析仪以证明它正在工作。

利用SQL和JSON以及无模式数据存储的能力将非常强大。它还应该有助于解决无模式存储的一个大问题,即最终将模式烘焙到应用程序代码中。在某些方面,这甚至比定义模式更具局限性,因为它零零碎碎地散布在代码中(事实上,本周宣布NoSQL的海报子MongoDB将采用模式;随着企业支持变得越来越重要,Couchbase不仅开始关注RDBMS领域。)

但是,视图会发生什么变化?据Couchbase首席执行官Bob Wiederhold说,他们不会离开。该公司将在即将发布的版本中继续改进视图。然而,尽管Wiederhold说视图仍然可以在JavaScript中编写增量映射和减少作业,但我想随着N1QL成为与Couchbase文档交互的标准,视图将慢慢消失。

N1QL有一些注意事项和顾虑。性能一直是开发者预览中的一个问题,一些用户,包括John De Goes(SlamData的首席技术官),认为N1QL的设计是为了解决有限数量的用例。正如De Goes所说,“如果您的用例不是他们认为要构建到SQL方言语法中的前10个用例之一,那么您就无法解决问题。”事实上,在最初的实现中,事务等标准SQL功能不受支持。但它们在Couchbase的路线图上,所以我们将在未来几个月内看到这一结果。

聪明的缩放

同时,从操作的角度来看,Couchbase Server 4.0带来的另一个创新是多维缩放,这对我的系统管理员吸引。它允许单独的服务缩放,例如查询,索引和数据存储,以提高性能,同时有效使用可用资源。虽然传统的缩放NOSQL数据存储的方法正在添加相同的新节点以进行性能改进,但CouchBase允许您以更有效的方式水平缩放。

需要更快的查询响应吗?然后添加具有比集群其他部分更强大CPU的节点,让它们承受压力。需要更快的索引吗?然后添加配备SSD的节点,以便以闪电般的速度进行索引,而您的数据节点仍保留在更便宜的传统硬盘上。后一个选项在Couchbase Server 4.0中通过ForestDB得到了提升,ForestDB是一个新的国产存储引擎,专门设计用于最大限度地利用SSD存储,同时也提高了它们的使用寿命。这种扩展可以以一种弹性的方式进行,也许最重要的是,可以隔离部署,这样您的服务就不会受到资源争用的影响。

这种自定义部署来挤出最佳性能并最大限度地使用可用硬件的能力将是较大规模部署的Godsend,服务的某些方面需要比其他人更加性能。但对于所有部署,当您不需要它们时,您不再需要围绕额外服务的行李。也就是说,如果你想要它,标准水平缩放仍然存在。

看来今年肯定是NoSQL获得企业信任和成长的一年,Couchbase Server 4.0是值得关注的一个。将SQL与N1QL相结合,使it能够利用世界各地企业中仍然存在的所有DBA和业务分析师,使他们几乎在第一次接触it时就开始工作,而不是让他们学习特定的DSL。你也可以在大数据世界中看到这一点星星之火开始向用户公开更高级别的概念。

集成也是今年NoSQL数据库的主题,Couchbase也不例外。每个人都把军事行动作为下一个伟大的前沿。看看NoSQL空间是如何发展的,每个人都在使用SQL,每个人都在尝试引入更好的管理控制台,这将是一件有趣的事情。

这个故事,“首先是:Couchbase的新SQL for NoSQL”最初发布infoworld.

加入网络世界社区有个足球雷竞技appFacebooklinkedin.评论最重要的话题。
有关的:

版权所有©2015.Raybet2

IT薪水调查:结果是