1

我们有一个系统可以创建大量数据,最多 150 万条时间戳记录,大约每秒 24MB 或每天大约 2TB。

数据来自多个来源,具有多种格式,一个共同点是时间戳。

目前,我们将大约 5 天的数据保存在文件中,并拥有生成报告的内部软件。

我们正在考虑创建一个可以保存和查询多年数据的可扩展系统。

我们倾向于像 Nathan Marz 在How to beat the CAP theorem中所描述的那样,使用 Hadoop/ElephantDB 进行长期批量存储,使用 Storm/Cassandra 进行实时层。

我想知道社区是否可以指出任何替代方案或建议进一步阅读?

我们的数据主要按时间组织这一事实是否适用于特定类型的解决方案?

有没有更好的论坛来问这种问题?

谢谢

4

1 回答 1

0

同时拥有实时访问和可扩展的批处理是一个棘手的问题。
虽然没有完美的解决方案,但我会探索以下两个功能:a) Hive,按时间分区,按其他键(如客户端 ID 或类似的东西)进行子分区。此解决方案将为您提供:
数据导入的良好性能
聚合报告的良好吞吐量
一个子分区访问的可能可接受的时间。虽然 - 它永远不会是 1-2 秒。

b) 轻快。它是用 cassandra 替换 HDFS 的 hadoop。它承诺为您提供所需的一切,尽管我希望数据加载性能和批处理报告性能不如 vanilla hadoop - 因为它是专门为它构建的。

于 2011-11-11T10:12:01.453 回答