`
wbj0110
  • 浏览: 1625499 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

nosql数据库 tiger

阅读更多
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个实例在一个机器上,所以写的性能影响比较大,    部署的时候建议分开到不同物理机部署。
 
主要技术:
  erlang:用于socket和通讯层
   Zab(Zookeeper  Atomic 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
分享到:
评论

相关推荐

    NoSQL数据库tiger.zip

    erlang开发的开源高可靠性nosql数据库tiger介绍可靠性: 写:对于n=2f 1 机器集群,在f台机器宕机的情况下可写 读:只要是没有宕机的机器都是可读的一致性: 强一致性扩展性: 读的能力可以线性扩展 功能: ...

    oracle自学笔记

    关系型数据库的数据存储在硬盘上的文件中,而NoSQL数据库则常将数据存放在内存缓存中,速度相对较快。在选择数据库时,需要考虑负载、成本、安全性和应用平台等因素。Oracle适合处理大规模、高并发的业务场景,常见...

    GIS Map Generator-开源

    5. **数据库管理**:TIGER数据可能需要存储在关系型数据库(如PostgreSQL+PostGIS)或NoSQL数据库(如MongoDB)中,以支持高效的数据查询和更新。熟悉SQL语言和地理空间扩展是必不可少的。 6. **WebGIS技术**:...

    大数据pig实战

    NoSQL是“Not Only SQL”的缩写,它代表着一种不同于传统关系型数据库的数据存储解决方案。NoSQL的出现并不是要取代SQL,而是为了解决某些特定问题,如处理大量非结构化数据、实时性要求较高的场景等。SQL语言因其...

Global site tag (gtag.js) - Google Analytics