beansdb,豆瓣beansdb卷土重来

豆瓣的beansdb可以算是豆瓣存储上的一大利器,是国内NoSQL中的杰出代表。历经一年的线上磨练,新发布的0.5.2版本(上一个版本是0.3.0)在网络层和数据存储引擎上都做了很大改变:
1. 存储引擎的改变
众所周知的是beansdb之前的版本是构建在TokyoCabinet存储引擎之上,舍弃了其原生的TokyoTyrant网络层而实现的。而在这一年的使用中TokyoCabinet时出现的一致性,可靠性和大数据量下的性能问题,使得beansdb的作者放弃了TokyoCabinet,重新实现了一种基于日志结构的存储引擎 Bitcask。
2. 网络层的改变
之前的beansdb是采用memcached的网络层代码,而我们都知道memcached用的是libevent做网络事件驱动,每个连接分配一个独立线程的多线程机制。而memcached这种生于内存存储的网络模式,在持久化存储的beansdb上会导致一些问题,于是新一版的beansdb采用了直接基于epoll/kqueue 实现 leader/follower 模式的线程池。
3. 增加了proxy层
本次版本增加了一个由go语言写的proxy层,主要功能负责数据路由和负载均衡,这样在数据需求客户端一层就不用再关心具体结点的部署情况。数据存储节点的增删只需要由proxy的配置项来设置即可。其思想应该和memcached proxy moxi 一样。
参考资料:http://www.douban.com/note/122507891/
beansdb:http://code.google.com/p/beansdb/
相关新闻: · 豆瓣杨勃:不遗余力支持社区发展 重新组合内容(2010-02-03) · 专访豆瓣网首席架构师洪强宁:BeansDB与NoSQL的应用与发展(2010-04-27) · 豆瓣网推出豆瓣电台iPhone客户端(2010-02-09) · 豆瓣网宣布手机豆瓣正式上线社区功能(2010-06-08) · 豆瓣:“慢公司”(2010-10-12)
本文链接:http://news.cnblogs.com/n/85780/
Tags:  让子弹飞豆瓣 豆瓣电影 豆瓣电台 豆瓣网 beansdb

延伸阅读

最新评论

发表评论