我们有一个系统可以创建大量数据,最多可达150万条带时间戳的记录,每秒约24MB,或每天约2TB。
数据来自多个来源,并且有多种格式,一个共同点是时间戳。
目前,我们在文件中保存了大约5天的数据,并拥有可生成报告的内部软件。
我们正在考虑创建一个可以保存和查询多年数据的可扩展系统。
我们倾向于像Nathan Marz在How to beat the CAP theorem中所描述的那样,使用Hadoop / ElephantDB进行长期批量存储,使用Storm / Cassandra进行实时图层。
我想知道社区是否可以指出任何替代方案或建议进一步阅读?
我们的数据主要按时间组织的事实是否适用于特定类型的解决方案?
有没有更好的论坛来提出这类问题?
由于
答案 0 :(得分:0)
同时具有实时访问和可扩展批处理是一个棘手的问题。
虽然没有完美的解决方案,但我会探索以下两项功能:
a)Hive,具有按时间划分的分区和由其他键(如客户端ID或类似的东西)的子分区。该解决方案将为您提供:
良好的数据导入性能
汇总报告的良好吞吐量
可能是一个子分区访问的可接受时间。虽然 - 它永远不会是1-2秒。
b)轻快。它是用cassandra取代HDFS的hadoop。它承诺为您提供所需的一切,尽管我希望数据加载性能和批量报告性能不如vanilla hadoop - 因为它专门为它构建。