首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

RethinkDB引见

2012-11-25 
RethinkDB介绍无意中看到redis作者在博客中推荐了RethinkDB,早上来简单了解了下,记录下:RethinkDB是一个完

RethinkDB介绍

无意中看到redis作者在博客中推荐了RethinkDB,早上来简单了解了下,记录下:

RethinkDB是一个完全支持Memcached协议、数据可持久化的工业级key-value存储系统。

RethinkDB官网介绍如下:

RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn

Simple programming model:

  • JSON data model and immediate consistency.
  • Distributed joins, subqueries, aggregation, atomic updates.
  • Hadoop-style map/reduce.

    Easy administration:

    • Friendly web and command-line administration tools.
    • Takes care of machine failures and network interrupts.
    • Multi-datacenter replication and failover.

      Horizontal scalability:

      • Sharding and replication to multiple nodes.
      • Queries are automatically parallelized and distributed.
      • Lock-free operation via MVCC concurrency.以上为官网的简单介绍,官网也有详细的测试。

        在网上查了下一些资料,摘要如下:

        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的数据存储,需要有效地进行垃圾回收。


        上面内容来自一PPT,RethinkDB & TokuDB调研测试报告 有兴趣可以下载。

        从PPT中查看到,其相关性能在并发足够大时,相关性能相比Memcache还是更占优势。

        但memcache只是缓存,它可以支持持久化存储,且完全支持Memcache协议!

        更多是针对SSD做的优化。


        目前官网有免费版与商业版!以上内容只供参考!



热点排行