写点什么

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:222263
用户头像

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

关注

评论

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

AI应用说-生产制造专场开课啦!

百度大脑

人工智能

情窦初开,原来喜欢这么可爱的

4ye

Python 后端 8月日更 词云

从头配置阿里云服务器

阿Q说代码

SSL证书 8月日更 阿里云服务器 域名备案

云原生时代的 APM

尔达Erda

微服务 运维 云原生 APM 应用性能管理

kubernetes增加Node详细步骤

消失的子弹

Kubernetes 云原生 k8s kubeadm

微信自研生产级paxos类库PhxPaxos实现原理介绍

OpenIM

IM

带你掌握JS防抖与节流

华为云开发者联盟

面试 定时器 节流 JS防抖 触发

CC通用成绩查询小程序(云开发无服务器解决方案)

CC同学

详解可观测性监控系统中的“金三角”

尔达Erda

开源 微服务 运维 云原生 APM

Python实现批量压缩文件/文件夹——zipfile

Python研究者

8月日更

架构训练营模块六作业

喻高咏        

架构实战营

Vue进阶(八十四):Computed 和 Watch 使用与区别

No Silver Bullet

Vue 8月日更

面向多场景而设计的 Erda Pipeline

尔达Erda

开源 微服务 云原生 企业数字化转型 Go 语言

Regan Yue带你一起学习微软AZ-900认证的有关知识「 第V章」

Regan Yue

微软 8月日更 AZ-900

遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI

华为云开发者联盟

隐私保护 隐私计算 PSI 联邦计算 数据碰撞

云小课|ModelArts Pro 视觉套件 零代码构建视觉AI应用

华为云开发者联盟

AI ModelArts Pro EI智能体 视觉套件

创业增长黑客 – 如何低成本获取种子用户|冷启动实战案例 – 挖掘用户需求背后的真实动机

蒋川

用户增长 需求落地 产品经历 业务增长 数据思维

反向压力

程序员鱼皮

架构 系统设计 大前端 后端 实时计算

苏宁精准测试方案探索和实践

薛飞

精准测试

挑战倒计时!“互联网+”大赛华为命题加速高阶能力提升

华为云开发者联盟

华为云 鲲鹏 大赛 “互联网+” 昇腾AI

书单 | 8月新书榜单TOP10,快来看看都有谁吧~~

博文视点Broadview

接口测试参数化(环境变量使用)----apipost

Proud lion

大前端 后端 Postman 开发工具 接口文档

拆分电商系统为微服务

面向对象的猫

Spark 源码阅读 01:环境搭建

程序员赤小豆

spark 技术 Spark 源码

Rust从0到1-高级特性-类型进阶

rust 高级特性 类型 Types

索引下推,这个点你肯定不知道!

艾小仙

MySQL MySQL 高可用

Spark 源码阅读 02:从 Spark-Submit 到 Driver 启动

程序员赤小豆

spark 技术 Spark 源码

技术调研,IDEA 插件怎么开发「脚手架、低代码可视化编排、接口生成测试」?

小傅哥

Java 小傅哥 低代码 IDEA 脚手架

用户体验再升级!Erda 1.2 版本正式发布

尔达Erda

云计算 开源 开发者 云原生 Go 语言

快速生成好看实用的接口文档

与风逐梦

后端 接口文档

别再找我给你重启程序啦!让你supervisor帮你搞定

Java 程序员 架构 后端

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