分布式持久key-value数据库 LightCloud

原文: http://opensource.plurk.com/LightCloud/ 实在想不明白为什么被GFW了。

功能
  • 构建在Tokyo Tyrant的基础上,是一个非常快的key-value数据库[基准测试],Tokyo tyrant已经在Plurk.com、mixi.jp和scribd.com等网站使用多年...
  • 性能非常好,可以和memcached相比
  • 只需少数的服务器就可以存储数百万的key,从生产环境得出
  • 水平扩展(scale out)只需增加节点
  • 节点通过主主(master-master)复制(replication)数据,并且支持自动故障转移和负载均衡
  • Ability to script and extend using Lua. Included extensions are incr and a fixed list
  • 热备份和恢复:备份和恢复无需关闭服务器
  • LightCloud的控制面板可以控制节点、备份以及查看节点的状态
  • Very small foot print (lightcloud client is around ~500 lines and manager about ~400)
  • 只支持Python,但LightCloud很容易移植到其它语言
  • Ruby接口正在开发中
稳定性
它已经在Plurk.com的生产环境中使用,并只使用两台服务器存储数百万数据,运行3个查找节点和6个存储节点(这些服务器也运行MySQL)

LightCloud和memcached以及MySQL有什么差异?
memcached用于缓存,保存在里面的数据会被删除。LightCloud是持久的,这意味着你保存一次,它会直到你删除或者更新它。

MySQl和其它关系型数据库不是很有效的支持key-value存储,而LightCould可以很好的做到。

LightCloud并不是要替代memcached或者MySQl。当您的数据不能用关系模型很好的描述时,LightCloud起到一种补充作用。

LightCloud和redis以及memcachedb有什么差异?
LightCloud是分布式和水平扩展的数据库,memcachedb和redis不是。这是非常重要的,但很多人并不知道这点。

基本上LightCloud也可以构建在memcachedb或者redis之上,节点将用memcachedb或redis代替Tokyo Tyrant。选择Tokyo Trrant是因为他是非常快的key-value数据库,每秒1百万set和get操作( TC基准测试])

基准测试
请注意memcached是基于内存的,而LightCloud是基于磁盘的。即使这样,这里需要做1万次get和set操作。
Elapsed for 10000 gets: 1.74538516998 seconds [memcache]
Elapsed for 10000 gets: 3.57339096069 seconds [lightcloud]

Elapsed for 10000 sets: 1.88236999512 seconds [memcache]
Elapsed for 10000 sets: 9.23674893379 seconds [lightcloud]

Benchmark program
略...

有用的链接
和LightCould相关有用的链接:

也可以订阅LightCloud的邮件列表: http://groups.google.com/group/lightcloud

Lua扩展
略...

License
略...

译:这个LightCould基本上就是一个高可用的Tokyo Tyrant,支持故障转移和负载均衡,扩展只需增加节点,在线备份和恢复,还提供了非常友好的状态查看。


你可能感兴趣的:(redis,mysql,memcached,TokyoCabinet,OpenSource)