我想建立一个跨越多节点的B +树 计算机网络(Linux PC的内部子网)用于 弹性大容量存储。范围扫描很重要。
这基本上是什么的基础数据结构 分布式DB系统? (Cassandra,HBase)
那里有关于分布式B +树的研究吗?
我看到了这篇文章
http://www.cs.yale.edu/homes/aspnes/papers/opodis2005-b-trees-final.pdf
但跳过BTree只是将错误的节点输出(所以有数据丢失)
我对内置冗余的B +树特别感兴趣
(即如果主机发生故障并且它所托管的所有节点都处于脱机状态,则
我希望另一个复制的主机成为主节点
服务器并代替失败的主机)
我不想使用数据库实例的集合 (1个节点,一个DB)因为分片不是一个好的选择 对于大规模存储系统(跨越商品) 带有FOSS OS的x86,x64硬件)。
我是否重新发明轮子? 我应该只使用Cassandra还是HBase?
答案 0 :(得分:1)
Cassandra支持范围查询。
Google Big Table会在您开机时自动将新计算机添加到群集中。它非常有弹性,易于添加更多机器。不幸的是,它的速度有一个缺点:查询非常严格。您可以执行一些范围查询。有关列表和详细信息,请参阅此文章:http://geothought.blogspot.com/2009/04/google-app-engine-and-bigtable-very.html
数据存储在Big Table中的一个很好的例子:http://jimbojw.com/wiki/index.php?title=Understanding_Hbase_and_BigTable
一个很好的堆栈溢出帖子: storing massive ordered time series data in bigtable derivatives