CouchBase

来源:互联网 发布:台州抓获网络棋牌赌博 编辑:程序博客网 时间:2024/06/05 17:33

CouchOne + Membase = Couchbase

 

Elasatic Couchbase将结合Membase、Memcached和CouchDB。并实现高性能缓存,弹性集群和数据库功能等技术。

Couchbase。非集群,轻量级版本的Couchbase旨为移动开发者提供便利,最初将在iOS平台出现。公司还提供Couchbase的托管服务,目的是为使用移动Couchbase应用计划实现“云同步”的特点。

Couch可为用户提供高性能,在大规模应用中提供快速且具有弹性的服务。在短期内,用户还将获得包括Membase索引和查询的支持,并为用户列出更多操作的功能和设置。客户能够将扩展的Web应用程序与本地存储同步到Membase透明集群中,以供移动设备的应用程序使用。

 

 

相关知识:


CouchDB(Erlang语言实现)

CouchDB是使用Erlang语言开发的面向文档的NoSQL数据库系统。它的存储格式是使用JSON,查询语言使用JavaScript。CouchDB推出移动版本的设想是,让应用程序开发者能利用手机上的CouchDB本地实例同步数据,而不需要经过云端服务器,提高了数据的可访问性。

  • CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。
  • CouchDB是面向文档的数据库,存储半结构化的数据,它记录其value可以是任意结构,比如 {手机:*, 电话:*} , {电话:*,地址:*}
  • CouchDB支持REST API

CouchDB 是如何工作的?

CouchDB 构建在强大的 B-树储存引擎之上。这种引擎负责对 CouchDB 中的数据进行排序,并提供一种能够在对数均摊时间内执行搜索、插入和删除操作的机制。CouchDB 将这个引擎用于所有内部数据、文档和视图。

因为 CouchDB 数据库的结构独立于模式,所以它依赖于使用视图创建文档之间的任意关系,以及提供聚合和报告特性。使用 Map/Reduce 计算这些视图的结果,Map/Reduce 是一种使用分布式计算来处理和生成大型数据集的模型。
CouchDB 中的 Map/Reduce 特性生成键/值对,CouchDB 将它们插入到 B-树引擎中并根据它们的键进行排序。这就能通过键进行高效查找,并且提高 B-树中的操作的性能。此外,这还意味着可以在多个节点上对数据进行分区,而不需要单独查询每个节点。

 

在 CouchDB 中没有锁机制,它使用的是多版本并发性控制(Multiversion concurrency controlMVCC)。两个客户机可以同时加载和编辑同一个文档。不过,如果一个客户机保存了所有更改时,另一个客户机在尝试保存更改时将收到一个编辑冲突。可以通过加载更新版本的文档来解决该冲突,然后重新进行编辑并再次保存。C

 

 

 

 

Membase

  • NoSQL数据库, 内置memcached, 及memcached的可持久版,有3个存储冗余增加可靠性。、
  • Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。
  • 支持插件扩展,可实现全文检索,备份和数据仓库转储等功能高。
  • 运营相关:
  1.   存储集群监控功能,性能,行为,变化,容量的监控
  2.   提醒功能
  3.   动态升级

Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。

 

NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。

通过如下方式可以获得上面提到的特性:
1、自动将在线数据迁移到低延迟的存储介质的技术(内存,固态硬盘,磁盘)
2、可选的写操作一一异步,同步(基于复制,持久化)
3、反向通道再平衡[未来考虑支持]
4、多线程低锁争用
5、尽可能使用异步处理
6、自动实现重复数据删除
7、动态再平衡现有集群
8、通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。