Membase是开源项目,源代码采用了Apache2.0的使用许可。该项目托管在GitHub.Source tarballs上。该产品主要是由North Scale的memcached核心团队成员开发完成,其中还包括Zynga和NHN这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区网络空间的供应商。
North Scale通过他们的专用服务器软件对Membase提供商业支持,同时增加了对现有memcached服务器的支持
除了以上的新闻之外,并没有更多的关于数据库的有效技术信息。如果你想了解更多,最好的办法是去读源代码。
在开发Membase的过程中,最主要的目标就是:“简单,快速,弹性”。
Key Value的存储方式保证了其简单性,目前还没有提供额外的查询功能。通过插件架构(通过过滤TAP接口实现回调)可以实现扩展机制,包括全文检索,备份或数据仓库转储等。其他一些计划中的扩展点有数据bucket一一为特殊的容器类型和将来的“NodeCode”提供引擎API。
Membase容易安装、操作,可以从单节点方便的扩展到集群,而且为memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中Memcached的部分基础代码被直接应用到了Membase服务器的前端。
通过兼容多种编程语言和框架,Membase具备了很好的复用性。在安装和配置方面,Membase提供了有效的图形化界面和编程接口,包括可配置的告警信息。
Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。
这方面的一个有趣的特性是NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。通过如下方式可以获得上面提到的特性:
- 自动将在线数据迁移到低延迟的存储介质的技术(内存,固态硬盘,磁盘)
- 可选的写操作一一异步,同步(基于复制,持久化)
- 反向通道再平衡[未来考虑支持]
- 多线程低锁争用
- 尽可能使用异步处理
- 自动实现重复数据删除
- 动态再平衡现有集群
- 通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。
North Scale演示文稿中 的两张幻灯片阐述了更多的技术细节: