RethinkDB 1.13 发布,存储 JSON 文档的分布式数据库
RethinkDB 设计用来存储 JSON 文档的分布式数据库,可通过简单操作实现多机分布式存储。支持表的联合和分组查询。
今天 RethinkDB 1.13 发布,Download it now!
- 新的http 命令,能够无缝从外面APIs拉数据至RethinkDB。
- New changes command for subscribing to document changes on tables
- Full promises support in the JavaScript driver
- 一个高性能的JSON驱动协议
- 大幅提搞性能和稳定性
RethinkDB是一个完全支持Memcached协议、数据可持久化的工业级key-value存储系统。
RethinkDB的特点:
- 随CPU个数线程扩展
- SSD上速度快十倍
- 节省内存空间
- 断电后及时恢复
- 细化的持久性控制
- 支持上万的并发连接数
- 支持裸盘设备,多磁盘上自动数据分区
RethinkDB的设计思想
1.B树会产生大量的随机写操作,对闪存寿命的负面影响很大。
2.闪存具有良好的随机读性能,所以B树和cluster index变得不再重要。
3.基于以上判断,RethinkDB采用append-only的方式来管理数据和索引,消除闪存上的随机写操作
Append-Only的影响
优点:
1.数据一致性(Data Consistency)。
- 所有更新追加到文件尾部,其他部分没有任何修改
- 文件的其余部分提供了一个完全一致的数据库
2.热备份(Hot Backups)。
- 在数据库文件被修改的同时可以拷贝一致数据
- 可简单地实现增量备份
3.及时恢复(Instantaneous Recovery)
- 数据库本身就类似于一个事务日志
- 恢复时直接截断数据库文件到一个已知一致的事务
缺点:
1) 在一个insert或者update很频繁的workload下,大量数据很快就会过期;
2) append-only消除了数据组织的数据局部性,虽然在SSD上随机读代价很小,但是仍旧是一个问题;
3) 对于索引结构来说,每50MB的数据会生成2GB的数据存储,需要有效地进行垃圾回收。
详细内容:http://rethinkdb.com/blog/1.13-release/