ActorDB 是一个使用 Erlang 编写的分布式 SQL 数据库,有 KV (键值存储) 的线性伸缩特性,也有关系型数据库的查询功能。

ActorDB 是一些应用理想的服务端数据库,比如 Dropbox,Evernote 等等,这些应用都需要在服务端存储用户数据,但是他们绝大部分的查询都是针对一个特定的用户。由于用户量巨大,服务端数据库非常大。使用 ActorDB 可以为每个用户使用一个完整的关系型数据库,但又不需要关心伸缩性策略,能完美发挥关系型数据库的威力。

主页:http://www.actordb.com/

ActorDB 是:

  • 一个分布式关系型 SQL 数据库
  • 一致性 (并不是最终一致)
  • 分布式
  • 冗余
  • 大量并发
  • 无单点故障
  • ACID
  • 可连接 MySQL 协议和 Thrift
  • 复制安全,使用 Raft 分布式一致算法

优势:

  • 完全横向可伸缩
  • 全功能 ACID 数据库
  • 适用于基于 actors 和服务器的超大型数据集
  • 无需特殊驱动器
  • 容易配置和管理
  • 无全局锁
  • 使用稳定可靠的 SQL 和存储引擎:基于 LMDB 的 SQLite
  • 继承 SQLite 特性,比如 JSON 支持和常用表表达式

ActorDB 从 2014 年一直发展到现在,当前版本是 0.10.20,遵循 MPL 2.0 开源授权协议。

GitHub 地址:https://github.com/biokoda/actordb