Couchbase基础知识扫盲

database

CouchBase基础知识

 

CouchBase是一款非关系型JSON文档数据库,其最大的竞争对手是MongoDB,且被MongoDB远远的甩在身后。如果MongoDB闭源的话,CouchBase将是最大的受益者。

 

CouchBase拥有社区版和商业版两个版本,虽然都可以部署在云端、Kubernates以及其他的复杂混合配置中,但是社区版和商业版还是有很大部分的差距,所以Couchbase注定要走商业那条路的。

 

Couchbase Server 查询语言 N1QL,是一款为支持 JSON 文档数据库所设计的 SQL 语言,且还具备扩展分析的作用,N1QL 结合了 SQL 的强大功能以及 JSON 数据模型的灵活性,为应用程序的开发人员提供了一种富有表现力、功能强大且完整的声明性语言,可用于查询、转换和操作 JSON 数据,同时 Couchbase 还支持键值数据访问和全文搜索。

 

CouchBase的服务架构

 

CouchBase设计原则:

 

以内存和网络为中心的体系结构、工作负载隔离以及对所有数据查询的异步支持

 

CouchBase的结构:

 

下图是Couchbase中的数据结构,请注意看这个变态,它会在你的嵌套对象下面主动建立一个content的键,人为增加了结构的复杂度。目前如果使用SpringDataCouchbase的话,查询嵌套的对象需要使用以下方式来获取嵌套对象的值。

 

@Query("SELECT META().id AS __id, META().cas AS __cas,

fromRoute.content as fromRoute,routeName,status FROM gate_way")

 

Bucket: 相当于关系型数据库中的库,保存JSON文档。

 

vBucket: 相当于Key的子集,保存的是key的值, CouchBase是JSON型数据库,没有表的概念。

 

节点: 物理或虚拟机,承载CouchBase Server的单个实例。

 

集群: 节点组,同步复制发生在集群节点之间。

 

CouchBase 查询

 

Couchbase 支持一键查询和检索数据关联值,该值可以是 JSON 文档或 Blob。此外还可以使用类似 SQL 的 N1QL 语言或全文搜索来查询,

前提是 bucket 必须有支持查询的索引。

 

由于众所周知的原因,目前Couchbase的用户和文档还特别少,希望本文能够给零基础的用户带来一点帮助。

 

 

 

以上是 Couchbase基础知识扫盲 的全部内容, 来源链接: utcz.com/z/534519.html

回到顶部