写点什么

Couchbase 发布 Couchbase Server 2.0 GA

  • 2013-01-19
  • 本文字数:1554 字

    阅读完需:约 5 分钟

Couchbase Server 2.0 的主要特性包括灵活的 JSON 数据模型,分布式的索引和查询,增量的 map-reduce 以及跨数据中心的复制。

在 2011 年 7 月发布开发者预览版之后,又经过了漫长的孵化, Couchbase 发布了 Couchbase Server 2.0 的正式版本。它是一个 NoSQL 解决方案,结合了内存缓存的键 - 值存储功能和面向文档数据库的功能。

Couchbase Server(CS)使用了基于 JSON 的数据模型和可选的数据库模式,最终提供了一致性的视图,而这些视图是一些键 - 值表,用户能够通过它们迭代、选择或查询存储在文档内的信息。视图通过增量 map-reduce 操作生成,开发者能够通过它们为应用提供简单的实时分析。视图查询会被分配到集群中单独的节点上,来自每个节点的结果会在响应返回之前进行合并和校验。

Couchbase Server 2.0 引入了跨数据中心复制(XDCR),允许数据库管理员在集群和数据桶(data bucket)之间复制数据。该功能提供了一种灾难恢复的途径,同时也对广泛分布的应用进行了局部改善。

CS 在内存中执行数据改变,稍后会使用 SQLite 将所有文档提交到磁盘进行持久化。这里有一个改进,只追加持久化引擎(append-only persistence engine)会将所有的更新添加到文件末尾,从而避免数据损坏并加快写入速度。

Couchbase 为 Linux(Ubuntu、Red Hat)、Windows 和 Max OS X 提供了 32 位和 64 位的社区版和企业版。社区版是免费的,面向狂热者,并不推荐在生产环境中使用,因为根据版本规范,“解决并验证QA 循环是企业版发布流程的一部分,而社区版并没有经过迭代测试,因此它不会包含最新的EE 特定的bug 修复”。

Couchbase 还为 Java、.NET、PHP、Ruby、C 和 Python 提供了 SDK ,同时还为 Node.js 和 Go 提供了实验性的客户端库。社区则为 Clojure、Erlang、Node.js、Perl、Python 和 TCL 开发创建了很多其他的客户端库

Couchbase Server 是由 Apache CouchDB 和 Membase 这两种技术合并而成。但是,虽然 CS 继承了 CouchDB 的大部分功能,该项目使用了一个不同的路径:在 GitHub 上创建了自己的开源项目。在一次 InfoQ 的采访中,Couchbase 解释说:

在团队开始集成 Apache CouchDB 和 Membase 构建 Couchbase 时,他们最初以 Membase 作为基础技术。Apache CouchDB 的部分代码被用于替换 Membase 存储后端,同时为 Couchbase Server 中的索引和查询提供基础。但是,为了满足分布式数据库情况下性能和资源利用的需要,大量内容被重写。例如,使用 C 语言优化并重新实现了整个文件存储路径,同时只保留了 Couchbase 前端所需要的功能。这样做的结果便是,虽然 Couchbase 深受 Apache CouchDB 技术的影响,但是它却独具特色。索引和查询方面的许多内容都与 Apache CouchDB 向上兼容,而文档获取和管理 API 则与 Membase 向上兼容。当然,Couchbase 是 100% 开源的(Apache 2.0 协议),因此任何想要使用它的人都可以自由地获取它的所有代码。

CS 和 CouchDB 在文档相关的功能上的主要区别是:

Couchbase Server 使用一个基于 memcached API 的文档操作 API(上面提到的),因此它提供了一个不同的操作集(例如,原子递增和递减、没有公开文档修正等)。

索引语义发生了变化。与 Apache CouchDB 不同的是,Couchbase Server 默认有一个最终的索引模型,当数据到达存储层时会在此进行异步地索引,在客户端则能够为每个操作选择不同的语义。

尽管我们有少数雇员对 Apache CouchDB 的态度很积极,但是它的创建者 Damien Katz 的焦点则是 Couchbase,因此 Couchbase 很可能会与原始的项目越来越远。

查看英文原文 Couchbase Releases Couchbase Server 2.0 GA


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-19 08:222389
用户头像

发布了 321 篇内容, 共 134.5 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

恭喜,成功入坑 GitHub 。。。

攻城狮杰森

git GitHub IP DNS 7月月更

Web预览附件

源字节1号

软件开发 前端开发 后端开发 小程序开发

Qt | 定时器实现动画效果时卡住了

YOLO.

c++ 定时器 qt 动画效果 7月月更

Qt实现音频播放

小肉球

qt 7月月更

非Vuex实现的登录状态判断封装

猪痞恶霸

Vue 前端 7月月更

iOS中类的本质及其存储

NewBoy

前端 移动端 iOS 知识体系 7月月更

CRMEB 单商户 v4.0 升级,稳得很!

CRMEB

java零基础入门-Java反射机制

喵手

Java 7月月更

恭喜这2个大模型开源项目进入OpenI启智社区孵化培育管道

OpenI启智社区

人工智能 开源 大模型

Java应用的优雅停机总结

陈德伟

Java tomcat Spring Boot web开发 优雅停机

Qt|使用QWebEngineView加载HTML使用及问题

中国好公民st

qt 7月月更

ABAP 编程语言中 Class(类)的设计原理剖析

汪子熙

服务器 SAP abap Netweaver 7月月更

LeetCode-141. 环形链表(java)

bug菌

Leet Code 7月月更

什么是数据资产?为什么背后蕴藏45万亿这么大的市场?

雨果

数据资产 数字经济

ORACLE进阶(七)存储过程详解

No Silver Bullet

oracle 存储过程 7月月更

基于物联网设计的老人防摔倒报警系统(华为云IOT)

DS小龙哥

7月月更

Android 应用界面风格与主题

芝麻粒儿

android 7月月更 手机开发

不习惯的Vue3起步一

空城机

Vue3 7月月更

科普达人丨漫画图解SGX加密计算黑科技

阿里云弹性计算

加密计算 TEE

【C语言】进阶指针One

謓泽

7月月更

直播APP系统源码——短视频直播系统源码

开源直播系统源码

直播系统源码 开源源码 短视频系统源码

测试部门的职责定位

BY林子

软件测试 敏捷测试 测试转型 测试部门职责 测试定位

并行计算的量化模型及其在深度学习引擎里的应用

OneFlow

深度学习 模型

【Python技能树共建】python autoscraper 模块

梦想橡皮擦

Python 7月月更

spark调优(四):瘦身任务主体

怀瑾握瑜的嘉与嘉

spark 7月月更

实现 ABAP 条件断点的三种方式分享

汪子熙

debug SAP abap Netweaver 7月月更

Python|读写文件

AXYZdong

Python 7月月更

Couchbase发布Couchbase Server 2.0 GA_DevOps & 平台工程_Abel Avram_InfoQ精选文章