0

对于非常大量的数据,您推荐哪种存储方式?(≈ 每天 5000 万条记录)。对于像 Hadoop 或 RDBMS 这样的系统,这种适当的情况是否仍然足以达到此目的?

4

1 回答 1

1

根据您所描述的数据量,您可能确实正在进入大数据领域。根据您提供的详细信息的数量,我建议将原始数据加载到 Hadoop 集群中,运行 map/reduce 作业来解析它并加载到基于日期的目录中。然后,您可以定义一个按日期(每天?每周?)分区的外部 Hive 表,映射到您的 map/reduce 作业的结果。

下一步将取决于您的报告的复杂性和所需的响应时间。如果您可以轻松地在 SQL 中表达它们,您可以在您的 Hive 表上运行查询。如果它们更详细,您可能必须编写自定义 map/reduce 作业。许多人建议使用 Pig,但我个人更喜欢直接的 Java。

如果您不关心报告的响应时间,您可以按需运行它们。如果您关心,但打开等待结果等待数十秒或几分钟,您也可以将报告结果存储在 Hive 中。如果您希望报表快速显示,例如在基于 Web 或移动 UI 中,您可能希望将报表数据存储在关系数据库中。

于 2012-08-31T13:18:04.457 回答