1

我有 500GB 的非结构化数据。我希望使用它的方式是构建这些数据的多个视图,以便轻松快速地使用。任何进入系统的新数据都应该在它必须的所有视图中建立索引,然后以原始格式存储在某个地方。除此之外,系统应该具有临时查询的能力。这些查询可能需要很长时间才能运行。我正在考虑将 Cassandra+Hadoop+Hive、HBase、Couchbase 和 Riak 作为我的用例的可能候选者。

更多数据将不断涌入,我计划在任何时间点在系统中最多保留几 TB 的数据。

想法?

4

1 回答 1

4

你在这个问题中留下了很多重要的细节。决定数据存储时的重要因素大致如下:

  • 我的将如何被访问?您在提到它是非结构化的并且您希望有许多可用的索引时提到了这一点,但是您省略了一些用例信息。获取信息时,您是要查找完整的记录还是一次只查找一条​​?文档和键值存储提供完整的记录,而表格数据存储可以提取每行的特定信息位。
  • 您在ACID光谱概述的光谱中处于什么位置?您是否关心数据的长期可用性?如果没有,像 memcached 这样的东西可以提供惊人的性能。这可能是最有帮助的,因为大多数现代分布式数据存储已经在这个范围内开辟了一个利基(或者,至少,可以以一种或另一种方式对其进行优化)。
  • 你想如何操作你的数据?如果 MapReduce 范式适合您的数据集和计算,那么我当然会推荐 HBase/Cassandra(尽管 Cassandra 的 MapReduce 支持更年轻)和 Hadoop 的组合。

您提供的信息越多,您/我们的评估就会越好。

于 2012-02-16T04:17:19.907 回答