Membase是NoSQL家族的一个新的重量级的成员。Membase是开源项目,源代码采用了Apache 2.0的使用许可。Membase是一个为交互式网络应用优化了数据存储的key-value类数据管理系统,在对于数据的使用上,Membase和Memcached是兼容的。Membase最大的特点是它横向扩展的方式,这也是和Memcache、Redis、Tokyo Tyrant等最大的区别。
Membase容易安装、操作,可以从单节点方便的扩展到集群,而且为memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中 Memcached的部分基础代码被直接应用到了Membase服务器的前端。
在开发Membase的过程中,最主要的目标就是:“简单、快速、弹性”。
Key/Value 的存储方式保证了其简单性,目前还没有提供额外的查询功能。通过插件架构(通过过滤TAP接口实现回调)可以实现扩展机制,包括全文检索,备份或数据仓库转储等。其他一些计划中的扩展点有数据bucket一一为特殊的容器类型和将来的“NodeCode”提供引擎API。
通过兼容多种编程语言和框架,Membase具备了很好的复用性。在安装和配置方面,Membase提供了有效的图形化界面和编程接口,包括可配置的告警信息。 Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。另外对存储的数据进行再分配仍然是必要的。
特点
第一,兼容Memcache的访问协议,text、binary两种协议都支持,现在新出的k/v缓存解决方案大多兼容Memcache访问协议。
第二,性能好,通过增加服务器来横向扩展服务,同时服务能力基本是线性增加的。
第三,安装方案、使用简单、扩展容易,管理界面美观。
第四,过期数据自动删除,这是一个可持久化存储方案的优点。
第五,根据官方文档,跨机房的Membase集群,一致性原则高于可用性,不过考虑到实际业务场景都在内网,基本没有问题。
这方面的一个有趣的特性是NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。通过如下方式可以获得上面提到的特性:
* 自动将在线数据迁移到低延迟的存储介质的技术(内存、固态硬盘、磁盘)
* 可选的写操作一一异步,同步(基于复制、持久化)
* 反向通道再平衡[未来考虑支持]
* 多线程低锁争用
* 尽可能使用异步处理
* 自动实现重复数据删除
* 动态再平衡现有集群
* 通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。
和很多开源产品一样,Membase也提供商用和普通两个版本,商用产品出卖的不再是代码,而是技术支持。
Membase Server Enterprise Edition-商用版本,你可以在membase.com上进行购买,每节点$999的价格也不便宜,但可以享受到很多诸如升级,漏洞修复等方面的支持。
Membase Server Community Edition-普通版本,可在membase.org上获取到二进制包,也可以对其进行研究并贡献代码。
About Membase
Membase is a distributed key-value database management system, optimized for storing data behind interactive web applications. Membase automatically distributes (or "shards") data and I/O across servers. This "scale out" approach at the data layer permits virtually unlimited growth of transaction capacity, with linear increases in cost and constant per-operation performance.
Interactive web applications service many concurrent users; creating, storing, retrieving, aggregating, manipulating and presenting data in real-time. Supporting these requirements, Membase processes data operations with quasi-deterministic low latency and high sustained throughput. It scales linearly from a single-server deployment to a cluster of hundreds of servers. And because Membase does not require creation or modification of a schema before storing data, it is an extremely flexible, cost-effective place to collect and retain large quantities of data - also typical of modern web applications.
For those familiar with Memcached, Membase provides text and binary protocol compatibility, but adds disk persistence; hierarchical storage management; data replication; live cluster reconfiguration and data rebalancing; and secure multi-tenancy with data partitioning. No change is required to applications already using Memcached to take advantage of these added capabilities. It is a drop in replacement. Like Memcached, Membase is simple, fast and elastic.
Membase is Simple, Fast, Elastic and Proven
Simple
Membase is extremely easy to manage, and simple to develop against. Every node is alike in a Membase cluster – clone a node, join it back to the cluster and press the rebalance button. Membase enjoys wide language and application framework support due to its on-the-wire protocol compatibility with Memcached.
Fast
Membase distributes data and I/O across commodity servers (or VMs), replicates data for high-availability, transparently caches data using built-in Memcached caching technology, persists data using a multi-tier storage management model, and auto-migrates data to the lowest-latency storage tier. It delivers consistently low latency response, for both random reads and writes, and can sustain high data throughput rates.
Elastic
Membase scales elastically, with linear cost. Servers can be added to, or removed from, a running cluster with no application downtime. Data is automatically rebalanced to new nodes and away from removed nodes. Employing commodity servers, virtual machines or cloud machine instances, data management resources can be dynamically matched to the needs of an application with minimal effort.
Proven
Membase is behind some of the world's busiest interactive web applications, including popular social games at Zynga with millions of user daily. It provides a shared data management platform for NHN, Korea’s largest web application operator with nearly 70 million unique users.
最新版本:1.8
官方主页:http://www.membase.org/