Couchbase 中文教程
  • Introduction
  • Couchbase 简介
  • Couchbase 应用场景
  • Couchbase 安装
  • Couchbase UI
  • 使用Node.js客户端
    • 安装与入门
    • 基本操作
      • CRUD 基本操作
      • 计数器操作
      • 过期时间操作
      • 加锁/解锁操作
      • Map方式操作(针对文档字段)
      • List链表方式操作
      • Queue队列方式操作
      • Set集合方式操作
      • append 与 prepend操作
    • N1QL操作
    • Sub-Document 部分更新操作
  • N1QL 基础操作教程
    • 第一章:N1QL基础
      • 测试数据
      • 1.AS 字段别名
      • 2.SELECT,FROM,WHERE
      • 3.文档,而不是行
      • 4.文档元数据
      • 5.简单算术运算
      • 6.ROUND(),TRUNC()函数
      • 7.字符串拼接
      • 8.WHERE条件过滤
      • 9.LIKE, NOT LIKE匹配
      • 10.Select DISTINCT
      • 11.判断 NULL和MISSING值
      • 12.匹配的元素与任何嵌套的数组
      • 13.AND,OR 组合多个条件
      • 14.USE KEYS 关键词匹配查询
      • 15.数组操作和切片
      • 16.快速回顾
      • 17.排序 ORDER BY
      • 18.LIMIT 和 OFFSET
      • 19.COUNT() , AVG() 聚合函数
      • 20.GROUP BY 分组
      • 21.HAVING 分组数据的过滤
      • 22.数组简约式
      • 23.回顾
    • 第二章:Joins 连接查询
      • 测试桶数据
      • 24.JOIN 子句
      • 25.Left outer JOINs 左外连接
      • 26.NEST
      • 27.UNNEST
      • 28.组合JOIN
    • 第三章:DML语句
      • 29.CURL 语句
      • 30.DELETE 删除操作
      • 31.UPDATE 更新操作
    • 案例分析 I:电子商务
      • 32.介绍说明
      • 33.Shopper - 浏览产品页面
      • 34.Shopper - 产品categories列表
      • 35.Shopper - 浏览和搜索产品
      • 36.Shopper - 列出category下的产品清单
      • 37.Shopper - 在栏目中找到最流行的一些产品
      • 38.Shopper - 浏览产品和排序结果
      • 39.Shopper - 购买促销活动产品
      • 40.Shopper - 列出了十大最畅销的产品
      • 41.Shopper - 列出评价最高的产品
      • 42.Merchant -为一个购买订单做准备
      • 43.Merchant - 找到最有价值的顾客
      • 44.Merchant - 客户的地区分布报告
      • 45.Merchant - 每月报告活动的客户
      • 46.Merchant - 识别评分较低的产品
      • 47.Merchant - 生成上月销售报告
      • 48.Merchant - 大订单
    • 案例分析 II:社交游戏
      • 49.介绍说明
      • 50.组装和加载用户配置信息
      • 51.列出一个用户发送的消息
      • 52.生成记分牌
      • 53.生成全球排行榜
      • 54.列出朋友
  • N1QL 5.5 进阶教程
    • COUCHBASE 5.5:查询和索引特性概述
    • ANSI JOINs in N1QL
    • 索引分组和聚合
    • 索引分区
  • Couchbase 连接器
    • Elasticsearch
      • Elasticsearch 插件配置
      • 与Couchbase交互说明
      • 其他
  • CAS机制
  • 索引
  • 视图(view indexes)
  • API
  • 资料
  • 注意点
  • 数据导出
Powered by GitBook
On this page
  • 可伸缩性(Scalability)
  • 自动分片集群技术
  • 高性能 高吞吐量 和低延迟
  • 集群高可用性
  • 跨数据中心复制
  • 数据局部性(Data Locality)
  • 支持常用的面向对象语言
  • 管理和监控图形用户界面

Was this helpful?

Couchbase 简介

PreviousIntroductionNextCouchbase 应用场景

Last updated 6 years ago

Was this helpful?

Couchbase,是MemBase与couchDb这两个NoSQL数据库的合并的产物,是一个分布式的面向文档的NoSQL数据库管理系统,即拥有CouchDB的简单和可靠以及Memcached的高性能。

Couchbase Server 可以被用作一个

  • 管理缓存层

  • key-value 存储

  • 文档型数据库

Couchbase 是一个高性能、分布式、面向文档的NoSQL数据库。Couchbase 提供了一些和其他一些领先的NoSQL数据库相似的功能或者增强功能.

  • 灵活的Schema JSON 文档

关于Couchbase和传统RMDB的对比

Couchbase Server

Relational databases

Buckets

Databases

Buckets or Items (with type designator attribute)

Tables

Items (key-value or document)

Rows

Index

Index

可伸缩性(Scalability)

  • 添加和删除节点是一键式解决方案而不会导致停机时间。所有节点都是相同类型的,这就排除了配置不同类型节点的需求。

  • 自动分片(Auto-sharding),它提供了跨集群的自动负载平衡,在过载服务器上没有热点。

  • 跨数据中心复制功能对于CoucBASE是独有的,并使CoucBASE在跨地域上可扩展。

自动分片集群技术

当从CoucBASE集群添加或删除新服务器时,数据会自动重新分配到集群中的节点,并在服务客户端请求时不停机重新平衡。均匀的过程在集群中自动分发数据称为自动分片(Auto-sharding)。如果更多的RAM和I/O容量是需要,只需添加服务器即可。在集群节点之间均匀均衡的情况下,数据是连续可用的。客户端请求被路由到使用数据局部性的最接近客户端的服务器。当从靠近客户端的服务器提供数据时,数据局部性提高响应时间并减少网络流量。

高性能 高吞吐量 和低延迟

延迟可以以不同的形式定义,但都意味着延迟:例如,接收请求的延迟。数据或数据传输到另一个服务器的复制延迟。吞吐量被定义为数据速率, 通过网络传输。

Couchbase提供了内置memcache-based缓存技术。memcache是什么?Memcache是内存(RAM)中的一个缓存,用于临时存储(也称为缓存)频繁使用的数据。使用Memcache用于优化磁盘I/O;如果数据是从RAM中获得的,则不必访问磁盘。Memcache也用于优化CPU,CPU密集型计算结果存储在高速缓存中以避免重新计算。什么是“频繁使用的数据”是由服务器根据数据请求的数量和频率来确定的服务器与磁盘协调,以保持足够的RAM以低延迟等待传入的请求,以实现高性能。当频繁使用的信息被重新请求时,它将从memcache而不是从数据库中获取。Memcache提高响应时间,从而减少延迟和高吞吐量。通过毫秒级的读写性能,Couchbase服务器能够每秒服务器数十万个OPS。

Couchbase在RAM中的对象级高速缓存中保持一组数据以供客户端访问,从而异步地从RAM到磁盘保持数据。只附加存储层将数据连续地附加到文件的末尾,从而提高性能。首先使用每个文档提交将更新提交到RAM并随后提交到磁盘。当高速缓存不提供所需数据时,高速缓存缺失被定义为数据库磁盘的直接访问。

集群高可用性

Couchbase在集群情况下保持高可用,虽然大多数NoSQL数据库提供高可用性,但Couchbase比其他数据库具有以下优点:

  • 跨数据中心复制

  • 即使在整个数据中心失败的情况下也提供高可用性。

  • 软件升级是在不关闭Couchbase服务器的情况下在线完成的。

  • 硬件升级是在线完成的,不需要关闭Couchbase服务集群。

  • 维护操作,如压缩,也是在服务在线的情况下可以完成。

说白了就是在不需要停机的情况下,就可以完成各种运维操作

跨数据中心复制

数据复制在集群中的不同节点上存储多个数据副本,以获得持久性和高可用性。持久性意味着,如果由于机器故障或一些其他原因如电源故障而丢失数据的一个副本,则数据的另一个副本仍然可用。高可用性意味着,从集群中的一个单个节点获取失败,从另一个拷贝的数据节点获取,而不治愈服务down机。除了集群内的复制(集群内复制)之外,Couchbase2.0还添加了一种称为跨数据中心复制(XDCR)的特征,其中数据在数据中心上被复制到另一个数据中心中的集群/s,该数据中心可以位于地理位置上的远程位置。XDCR还提供了数据局部性。数据局部性是数据与客户端的紧密性。如果每个客户端能够访问接近客户端的节点,则不需要通过网络传输数据。如果数据在靠近客户端的数据中心可用,则从数据中心获取数据,而不是从远程数据中心获取网络。通过网络传输数据会导致延迟(延迟)和带宽需求的增加。数据局部性提高响应时间。图中说明了跨域数据中心复制,其中JSON文档A使用Datacenter1中内部集群来复制,并且JSON文档B使用Datacenter2上的内部集群来复制。JSON文档也可以使用XDCR在Datacenter2上复制,JSON文档B也可以使用Datacenter1上的XDCR复制。副本的数量可以根据需求而变化。

数据局部性(Data Locality)

数据局部性是CoucBASE服务器与它的客户端的紧密性。跨数据中心复制使得跨地域复制数据是可行的。从最靠近客户端的数据中心服务客户端,从而减少网络延迟。

支持常用的面向对象语言

Java, PHP, Ruby, and C等等

管理和监控图形用户界面

Couchbase是为灵活的数据管理需求设计的交互式Web应用程序,提供高吞吐量和低延迟。虽然大多数NoSQL数据库提供了快速响应,但Couchbase的毫秒延迟在读写操作上是一致的,并且在不同的工作负载之间是一致的。一些其他NoSQL数据库的延迟,如MongoDB和Apache CasdRRA随着ops/sec(每秒操作数)的增加而增加,但Couchbase的甚至在高负荷时延迟仍然很低。虽然大多数NoSQL数据库提供了高吞吐量,但Couchbase的高吞吐量下的读写操作的是一致的。Apache Casdand,MangoDB和Couchbase性能基准测试(

XDCR在数据中心之间单向或双向地复制数据。通过双向复制下,可以在数据中心中添加数据并从另一个数据中心读取数据。

官网
http://www.slideshare.net/renatko/couchbase-performance-benchmarking),Couchbase表现出最低的延迟和最高的吞吐量。