怎么从MongoDB 到 Couchbase for Developers,第 1 部分:架构

305 阅读2分钟

在 MongoDB 开发人员通过比较学习 Couchbase 的新的详细系列的第一部分中,看看每个的架构

t018b862952f85cccc9.jpg

介绍

通过这篇关于 MongoDB 与 Couchbase 比较的文章,我开始了一个新的、详细的系列,供 MongoDB 开发人员通过比较来学习 Couchbase。

本系列将类似于 Oracle 开发人员通过比较学习 Couchbase的系列,但针对 MongoDB 开发人员。  

以下是计划文章的主题。

  1. 架构(本文)
  2. 数据库对象
  3. 数据类型
  4. 数据建模
  5. 声明和功能
  6. 索引
  7. 优化器
  8. 搜索(全文搜索)
  9. 交易

高级语言 (MQL-N1QL) 比较

开发人员使用多组抽象来处理数据库:数据模型、API 和语言。我们将 RDBMS 称为 SQL 数据库:SQL 是语言。Couchbase 有 N1QL,MongoDB 有 MQL。我们将从高级语言和功能比较开始,以助您一臂之力。这是 MongoDB 的 MQL 模型与 Couchbase 的 N1QL 模型在对象、语言和查询处理方面的高级比较。我们将在本博客系列的其余部分详细讨论这些内容。

image.png

建筑学

MongoDB 和 Couchbase 有很多共同点。两者都是现代 NoSQL 分布式数据库,使用 JSON 模型,具有支持 select-join-project 操作的高级查询语言,具有二级索引,具有自动选择查询计划的优化器,并支持集群内和集群间集群复制。

如您所料,存在差异。有些比其他更重要。Couchbase 旨在从一开始就分发。例如,数据容器的桶和集合总是分布式的。只需添加新节点,系统将自动分发。集群内复制不需要管理新的服务器:只需设置副本的数量,一切就绪。从开发人员交互的角度来看,最大的区别在于查询语言本身。MongoDB 有专有的查询语言 MQL,Couchbase 有用于 JSON 的 N1QL-SQL。MongoDB 将其基于 B-Tree 的索引用于本地产品,将 Apache Lucene 用于 Atlas 服务;Couchbase 有一个内置的、无锁的、基于跳过列表的索引和基于Bleve的倒排树索引,用于全文搜索 (FTS)。

部署示例

部署配置和选项在面的概述文章中进行了说明。以下是示例部署。

image.png

image.png

image.png

image.png

image.png

不同主题的架构比较

image.png

image.png

image.png

image.png

关注十一技术不迷路,下期内容更精彩,私信博主免费领相关资料