Hibari开源NoSQL数据库引擎
Hibari (在日语中意思为“云雀”)是一个专为高可靠性和大数据存储的数据库引擎,可用于云计算环境中,例如 webmail、SNS 和其他要求T/P级数据存储的环境中。Hibari 支持 Java, C/C++, Python, Ruby, 和 Erlang 语言的客户端。
Hibari 并不是一个关系数据库,主要是通过 key-value 的方法进行数据存储。
Hibari 是具有强大一致性保证的分布式有序键值存储。Hibari 用 Erlang 编写,旨在:
-
快速,读取优化: Hibari以较短且可预测的延迟提供读取和写入请求。Hibari具有出色的性能,特别是对于读取和大价值操作
-
高带宽:批处理和无锁操作有助于实现高吞吐量,同时确保数据一致性和持久性
-
大数据:通过在服务器之间自动分配数据,可以存储Peta Bytes数据。最大的生产Hibari集群跨越100台服务器
-
可靠:通过在服务器之间复制数据来实现高容错能力。服务器故障后,数据将自动修复
Hibari 能够提供可扩展的高性能,该性能可与领先的开源 NOSQL(不仅 SQL)存储系统相媲美,同时还提供许多系统所缺乏的数据持久性和强大的一致性。Hibari 相对于其他 NOSQL 系统的性能对于读取和大值(> 200KB)操作而言尤其强大。
作为现实性能的一个示例,在配备传统 HDD(非SSD)的数百万个用户 Web 邮件部署中,Hibari 每秒处理大约 2200 个事务,读取延迟平均在 1 到 20 毫秒之间,写入延迟平均在 20 毫秒之间。和 80 毫秒。
特性
与许多其他分布式数据库不同,Hibari 使用“ 链复制方法 ”并提供了独特的功能。
-
有序键值:数据通过键前缀在“链”中分布,然后按字典顺序对链中的键进行排序
-
始终保证强一致性:简化了健壮的客户端应用程序的创建
- 比较和交换(CAS):关键时间戳机制,可促进“测试并设置”类型的操作
- 微交易:范围内的多键原子交易
-
自定义元数据:每键自定义元数据
-
TTL(生存时间):每个密钥的到期时间