MemBase,NoSQL 家族的一个新的重量级的成员

  • Michael Hunger
  • 池建强

2010 年 6 月 29 日

话题:架构DevOps语言 & 开发AI

在 3 月 23 日,North Scale公开宣布 NoSQL 数据库解决方案 Membase 已经可用了。这一发布引发了大量的报导(MarketWireTheRegisterGigaOM)。

该产品主要是由 North Scale 的memcached核心团队成员开发完成,其中还包括ZyngaNHN这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区网络空间的供应商。

其他早期的使用者有mig33 (移动应用) 和 Red Aril (广告).

Membase LogoMembase是开源项目,源代码采用了 Apache2.0 的使用许可。该项目托管在GitHub.Source tarballs上,目前可以下载 beta 版本的 Linux 二进制包。

North Scale 通过他们的专用服务器软件对 Membase 提供商业支持,同时增加了对现有memcached 服务器的支持

除了以上的新闻之外,并没有更多的关于数据库的有效技术信息。如果你想了解更多,最好的办法是去读源代码。

在开发 Membase 的过程中,最主要的目标就是:“简单,快速,弹性”。

Key Value 的存储方式保证了其简单性,目前还没有提供额外的查询功能。通过插件架构(通过过滤 TAP 接口实现回调)可以实现扩展机制,包括全文检索,备份或数据仓库转储等。其他一些计划中的扩展点有数据 bucket 一一为特殊的容器类型和将来的“NodeCode”提供引擎 API。

Membase 容易安装、操作,可以从单节点方便的扩展到集群,而且为 memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached 已经在不同类型的领域(特别是大容量的 Web 应用)有了广泛的使用,其中 Memcached 的部分基础代码被直接应用到了 Membase 服务器的前端。

通过兼容多种编程语言和框架,Membase 具备了很好的复用性。在安装和配置方面,Membase 提供了有效的图形化界面和编程接口,包括可配置的告警信息。

Membase 的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。

这方面的一个有趣的特性是 NoSQL 解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。通过如下方式可以获得上面提到的特性:

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

North Scale 演示文稿中 的两张幻灯片阐述了更多的技术细节:

Membase Key Translation

Membase Replication

Alex Popescu指出了技术信息的缺乏,并提到了最近被Violin Memory收购的Gear6 Memcached 解决方案,Violin Memory 是一家提供大量服务器端闪存基础设置的公司。

架构DevOps语言 & 开发AI