快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

开发人员必须了解的关于Couchbase的10件事

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

Couchbase服务器5 .0和5 .5是两大版本。 让我们来看看开发者们不能错过的一些新的和旧的特性:

1)子文档

这个特性已经存在了一段时间,但是仍然值得一提。 一些键值存储只允许您将整个文档放在一起,这是一个合理的特性。 毕竟,它是一个键值存储。 但是,如果您使用Couchbase作为千伏,您仍然可以通过指定文档的路径来操作文档的某些部分。 例如:

给定以下文档:


您可以通过简单地指定文档的路径来操作文档的各个部分,如 获取(‘)地址。计费( 或者 ARRAY_APPEND(‘)购买。被遗弃,42)

如果你想阅读更多,请查看这篇博文或我们的官方文档。

2)事件

事件显然是Couchbase 5最酷的功能之一。5我们已经有一大堆关于它的博客文章,像这里或这里。 对于那些还没有听说过的人来说,活动服务可以让你写作 服务器端功能 每当插入/更新/删除文档时都会自动触发。 这些函数可以使用类似爪哇岛描述语言的语法轻松编写:

开发人员必须了解的关于Couchbase的10件事

此外,您还可以通过卷曲调用应用程序中的端点:


3) ANSI连接

Couchbase允许您使用 连接 在您的查询中使用了相当长的时间,但是到目前为止,它只能通过使用我们自己的语法来完成。 从Couchbase 5开始。5您也可以使用ANSI JOIN语法:


你可以在这里读到更多。

4)全文搜索

大多数面向用户的应用程序最终都需要实现某种高级搜索。 这种功能通常需要您将数据推送到第三方工具,如Solr或弹性搜索。 但是,添加这样的工具会显著增加基础架构的成本和复杂性,更不用说将对象/文档更改推送到这些工具所需的所有代码了。

从Couchbase 5开始。0,您可以简单地在网控制台中创建全文搜索索引,然后直接从数据库开始进行全文搜索:

开发人员必须了解的关于Couchbase的10件事

突出显示搜索结果:

开发人员必须了解的关于Couchbase的10件事

如何通过软件开发工具包进行简单搜索:


您可以在这里查看官方文档。

5)更快的查询、分组依据和聚合下推

不管数据库是什么,聚合(最小、最大、平均等(和分组操作在性能方面总是有问题。 为了解决这个问题,使用沙发基座5。5,您可以利用您的索引来加速这些类型的查询:


~ 90毫秒—上述查询的查询计划

开发人员必须了解的关于Couchbase的10件事

~ 7毫秒-与以前相同的查询,但使用了适当的索引

开发人员必须了解的关于Couchbase的10件事

你可以在这里阅读全文。

6)基于角色的访问控制和X509证书

对于任何恶意入侵者来说,数据库都是最大的财富,这就是为什么增加一层额外的安全保护永远不会过分。 使用Couchbase,您可以使用x对客户端进行身份验证509证书,并通过基于角色的访问控制限制其访问(RBAC):

开发人员必须了解的关于Couchbase的10件事

您也可以通过N1QL授予权限。 让我们看看如何授予用户选择权限 丹尼斯 在桶里 某个桶(_ b) 看起来像:


你可以在这里或这里读到更多。

7)字段加密

静态加密是最基本的安全形式之一,您可以使用Couchbase的爪哇岛加密轻松加密/解密字段:


在这里或这里阅读更多信息。

8)反应型软件开发工具包

我们还提供了一个反应式的软件开发工具包,这在数据库提供商中很难找到。 这主要是因为我们的软件开发工具包本身是被动实现的。

反应式编程对于性能和资源优化非常重要。 如果您还不熟悉这个概念,我强烈推荐这篇文章,它让您快速了解为什么您可能会考虑在持久层中使用反应式编程。

我们有关于这个主题的大量材料。 如果你想知道更多,你可以从这里或这里开始。

9)通过软件开发工具包实现”微调速度”

在Couchbase,我们试图让开发人员能够微调他们的性能,甚至在文档级别,这样开发人员就可以根据具体情况决定每个场景的最佳折衷方案。

让我们来看看,例如,Couchbase是如何存储数据的。 默认情况下,一旦服务器确认应该存储一个新文档,它就已经将响应发送回客户端,说您的”请求已成功接收“,并且异步存储和复制该文档。

这种方法对于速度非常好,但是如果服务器崩溃,当文档仍然在服务器的内存中时,丢失数据的可能性很小。 如果您想避免这种情况,可以通过软件开发工具包指定仅在文档被复制或存储到磁盘后才接收确认:


为什么允许这样的事情? 因为如果你能承受服务器崩溃时丢失这些数据的小概率,你就能显著提高你的性能。 这不是一个全有或全无的决定,因为你可以决定系统的哪些部分值得冒这样的风险。

您也可以对查询进行类似的操作。 在这种情况下,如果您希望等待索引/视图根据最近的更改进行更新,或者您不返回最新版本的文档的可能性很小,那么:


我们的软件开发工具包中还有其他一些可以优化的特性,所有这些小的决策都可以显著提高您的大规模性能。

10)响应时间可观测性

我在之前的博文中已经提到过这个项目,但我认为值得再次提及。 从版本5开始。5,我们引入了一种称为响应时间可观察性的新功能,它将为系统开发人员提供一种非常简单的方法来观察相对于(可调整的(阈值的响应时间。

该功能使用开放式跟踪格式,记录慢速请求,然后在每个时间间隔后记录一系列详细信息,因此您可以轻松识别性能差的操作。


默认情况下,响应时间可观察性是打开的,我们已经定义了一组阈值来避免记录健康的请求。 如果您想提高集群的极限,您甚至可以手动设置较小的阈值。 你可以读到更多关于它的内容。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638