Couchbase基础知识扫盲
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