Key Map 数据模型
注意:业内存在一些术语混乱,有两个不同的东西都叫做“列式数据库”。这里列出的有一些是围绕“key-map”数据模型而建的分布式、持续型数据库,其中所有的数据都有(可能综合了)键,并与映射中的键-值对相关联。在一些系统中,多个这样的值映射可以与键相关联,并且这些映射被称为“列族”(具有映射值的键被称为“列”)。
另一组也可称为“列式数据库”的技术因其存储数据的方式而有别于前一组,它在磁盘上或在存储器中——而不是以传统方式,即所有既定键的键值都相邻着、逐行存储。这些系统也彼此相邻来存储所有列值,但是要得到给定列的所有值却不需要以前那么繁复的工作。
前一组在这里被称为“key map数据模型”,这两者和Key-value 数据模型之间的界限是相当模糊的。后者对数据模型有更多的存储格式,可在列式数据库中列出。若想了解更多关于这两种模型的区分,可阅读Daniel Abadi的博客:Distinguishing two major types of Column Stores。
Apache Accumulo:内置在Hadoop上的分布式键/值存储;
Apache Cassandra:由BigTable授权,面向列的分布式数据存储;
Apache HBase:由BigTable授权,面向列的分布式数据存储;
Facebook HydraBase:Facebook所开发的HBase的衍化品;
Google BigTable:面向列的分布式数据存储;
Google Cloud Datastore:为完全管理型的无模式数据库,用于存储在BigTable上非关系型数据;
Hypertable:由BigTable授权,面向列的分布式数据存储;
InfiniDB:通过MySQL的接口访问,并使用大规模并行处理进行并行查询;
Tephra:用于HBase处理;
Twitter Manhattan:Twitter的实时、多租户分布式数据库。
键-值数据模型
Aerospike:支持NoSQL的闪存优化,数据存储在内存。开源,“'C'(不是Java或Erlang)中的服务器代码可精确地调整从而避免上下文切换和内存拷贝”。
Amazon DynamoDB:分布式键/值存储,Dynamo论文的实现;
Edis:为替代Redis的协议兼容的服务器;
ElephantDB:专门研究Hadoop中数据导出的分布式数据库;
EventStore:分布式时间序列数据库;
GridDB:适用于存储在时间序列中的传感器数据;
LinkedIn Krati:简单的持久性数据存储,拥有低延迟和高吞吐量;
Linkedin Voldemort:分布式键/值存储系统;
Oracle NoSQL Database:Oracle公司开发的分布式键值数据库;
Redis:内存中的键值数据存储;
Riak:分散式数据存储;
Storehaus:Twitter开发的异步键值存储的库;
Tarantool:一个高效的NoSQL数据库和Lua应用服务器;
TiKV:由Google Spanner和HBase授权,Rust提供技术支持的分布式键值数据库;
TreodeDB:可复制、共享的键-值存储,能提供多行原子写入。