nosql数据库 tiger -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    erlang开发的开源高可靠性nosql数据库tiger介绍

    可靠性:

    写:对于n=2f+1 机器集群,在f台机器宕机的情况下可写

    读:只要是没有宕机的机器都是可读的

    一致性:

    强一致性

    扩展性:

    读的能力可以线性扩展

    功能:

    目前实现了key/value的get set 和delete功能:

    基于memcached协议和leveldb的持久数据库

    基于redis协议和redis存储引擎的内存数据库,宕机后数据重放到内存

    性能:

    单机跑3个实例:

    双核,Pentium(R) Dual-Core CPU     E6600 @ 3.06GHz

    centos 5.6 erlang R15b 2G 内存

    基于memcached协议的接口:

    set接口:

    91.49% <= 12 milliseconds,5387.93 requests per second

    get 接口:

    100.00% <= 13 milliseconds 18177.54 requests per second

    基于redis协议的接口:

    set接口:

    100.00% <= 60 milliseconds 3954.13 requests per second

    get 接口:

    13477.09 requests per second

    测试程序使用:mc-benchmark,redis-benchmark,因为3个实例在一个机器上,所以写的性能影响比较大,  部署的时候建议分开到不同物理机部署,

nosql数据库 tiger

电脑资料

nosql数据库 tiger》(https://www.unjs.com)。

    主要技术:

    erlang:用于socket和通讯层

    Zab(ZookeeperAtomic Broadcast):实现消息的原子广播

    存储引擎:leveldb,redis存储引擎

    架构实现:

   

    zab_engine介绍:

    将zab协议实现为erlang的api,如果使用erlang开发项目,可以嵌入zab_engine,实现多master的架构变得非常简单

    引擎实现功能:

    1:2阶段提交

    2:恢复

    a.follow恢复

    b.leader恢复

    c.在线加入和恢复

    架构:

   

    使用说明:

    1.实现gen_zab_server 回调函数

    2.对于须同步数据,实现handle_commit

    3.对于只读数据,实现handle_call

    项目主页:http://www.open-open.com/lib/view/home/1341822841072

最新文章