Couchbase Server & Sync Gateway 介绍
Couchbase 简单介绍
Couchbase 是 MemBase 与 couchDb 这两个 NoSQL 数据库的产物,是一个高性能、分布式的面向文档的 NoSQL 数据库管理系统,既拥有 CouchDb 的简单和可靠以及 Memcached 的高性能。
Couchbase 作为一款能够被部署在本地集群的数据服务,其具备很强的一致性,是一个专注于服务、分布式以及灵活的 JSON 文档数据库
Couchbase 和传统 RMDB 的对比
Couchbase 主要包含以下三个部分:
Couchbase Server
Couchbase Server 可以被用作一个
-
管理缓存层
-
key-value 存储
-
文档型数据库
Couchbase 后台介绍
Dashboard
- 提供 couchbase 当前状态相关信息
couchbase 单机部署页面
couchbase 集群部署页面
我们可以在 couchbase 后台提供 query 中直接查询数据,couchbase 数据查询方法为 N1QL,发音为“nickel”, N1QL 使得开发者可以在 Couchbase 上使用 SQL 语言进行开发,其不仅支持复杂的 SQL 能力和保留了 JSON 文档灵活的数据模型,还支持了跨文档的连接操作以及针对 JSON 数据的嵌套格式。
Couchbase Mobile
它包括两个组件(Sync Gateway和Couchbase Lite),它们与Couchbase Server相结合,可以在边缘和云之间提供快速,高效的双向数据同步。使您能够在本地或任何云中以更高的敏捷性部署脱机优先的移动和嵌入式应用程序。
Couchbase Lite
Couchbase Lite是一个嵌入式轻量级, 面向NoSQL,面向文档 ,可同步的数据库引擎。
左边的绿色方框是移动端应用,它通过蓝色标示的Sync Gateway与CouchBase Server 通信。图中的箭头都是双向的,任何一方对本地数据库的写操作,都会导致对方的更新。任何一方的网络暂时中断也没有关系,在网络恢复的时候将会自动重试。这样一来,数据同步的思路就变了,不再是在服务器端定义上传下载的API,移动端进行调用。而是利用 DB 自有的 replication 机制进行数据同步。
Couchbase Sync Gateway
Sync Gateway是Couchbase Mobile部署中的同步服务器。它旨在为大型交互式Web,移动和IoT应用程序提供数据同步。简单理解为一种同步机制,可在移动客户端和服务器之间安全地同步数据.(同步网管)
Sync Gateway 是如何同步数据的?
Sync Gateway 使用 channel 使在大量用户之间共享数据库变得容易,并控制对数据库的访问。channel 是文档和用户之间的中介。 数据库中的每个文档都属于一组 channel,并且每个用户都可以访问一组通道。
channel 的作用:
- 对数据集进行分区
- 授权用户访问文档
- 最小化同步到设备的数据量