tiger NoSQL 数据库

程序名称:tiger

授权协议: MIT

操作系统: Linux

开发语言: ErLang

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

tiger 官网

https://github.com/xinmingyao/zab_engine

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


SchemaCrawler提供一组用于增强标准JDBC Metadata的API.SchemaCrawler还包含一个命令行工具能够将数据库结构和数据以一种易读的形式输出.
ER Master 是一个用于设计ER模型图的Eclipse插件。提供的功能包括:从数据库导入关系生成ER图,导出设计图,导出DDL数据定义语句等。目前完整支持的数据库包括
Eclipse下用于画数据库ER图的插件,主要特性如下: 图形化编辑ER图 从数据库结构中导入ER图
PowerDesigner 是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner
Mogwai ERDesigner NG是一个实体关系建模工具类似于ERWin。它设计成让数据库建模变得尽可能简易并为整个开发过程提供支持,从数据库设计到模式
Power*Architect 是一个数据建模工具,主要用在数据仓库和数据集市的模型设计。
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL
DbWrench 是一个数据库设计和同步软件,为数据库开发人员提升生产率,可轻松的创建和修改数据库。
是一个采用Python开发的使用ER图的数据库建模工具
CA公司的数据库建模工具 (非开源) ,为你提供一个易于使用的用户界面(UI)环境,简化数据库设计过程,并将许多令人疲惫的任务自动化,如创建高性能事务和数据仓库数据库。这是一款可以和PowerDesigner并驾齐驱的
Altova MapForce® 2008是您首选的数据综合和网络服务器实现工具。它可以通过映射数据源到WSDLO操作的方法,实现多种文件之间的转化,包括XML文件, 数据库文件,
一个用Java开发的可视化数据库设计工具,支持JDBC 2.0的数据库
一个图形化的数据库模型浏览工具,SchemaSpy analyzes database metadata to reverse engineer
从事软件开发多年,感觉数据库在整个软件开发过程中扮演一个不可或缺的角色。一旦一个业务项目进入立项阶段,需要支持哪些数据库平台,如何使用该种数据库平台都将成为架构师需要考虑的内容,对于一般的开发人员,
Middlegen一个免费数据库驱动(database-driven)的代码生成引擎。它基于JDBC,Velocity,Ant和XDoclet.
Ermodeller是一个用于数据建模的CASE工具。该工具支持概念建模和逻辑建模,并在最后生成特定数据库的物理模型。支持的数据库包括:MySQL、PotgreSQL、Oracle、Pointbase,对其它数据库的支持需要通过XML文件自定义
GMOD is the G eneric M odel O rganism D atabase project, a collection of open source software tools for creating and managing genome-
pgDesigner 是一个为PostgreSQL数据库设计的建模工具
Enterprise Architect是一款计算机辅助软件工程(CASE)工具,用于设计和构建软件系统、业务流程建模及更多通用的建模。
mybatis 通用 basedao,含自动生成通用 XMLMapper。 可通过此工具自动生成 Mybatis XML 文件和 dao 的 class 类