我有大量数据需要存储,并且能够生成报告——每个数据都代表网站上的一个事件(我们说每秒超过 50 个,因此显然需要汇总旧数据)。
我正在评估实现这一点的方法,显然它需要可靠,并且应该尽可能容易扩展。还应该可以以灵活有效的方式从数据中生成报告。
我希望一些 SOer 有此类软件的经验并可以提出建议,和/或指出其中的缺陷。
理想情况下,我想在 EC2 上部署它。
我有大量数据需要存储,并且能够生成报告——每个数据都代表网站上的一个事件(我们说每秒超过 50 个,因此显然需要汇总旧数据)。
我正在评估实现这一点的方法,显然它需要可靠,并且应该尽可能容易扩展。还应该可以以灵活有效的方式从数据中生成报告。
我希望一些 SOer 有此类软件的经验并可以提出建议,和/或指出其中的缺陷。
理想情况下,我想在 EC2 上部署它。
哇。你正在打开一个巨大的话题。
有几件事就在我的脑海中...
正如我所说,巨大的话题。当我想到更多时,我将继续添加到我的列表中。
HTH 祝你好运
@Simon提出了很多优秀的观点,我将添加一些并重新迭代/强调其他一些:
我很惊讶这里的答案都没有涵盖 Hadoop 和 HDFS - 我建议这是因为 SO 是程序员 qa,而您的问题实际上是一个数据科学问题。
如果您正在处理大量查询和大量处理时间,您将使用 HDFS(EC 上的一种分布式存储格式)来存储您的数据并在商品硬件上运行批量查询(即分析)。
然后,您将根据需要预置尽可能多的 EC2 实例(数百或数千个,具体取决于您的数据处理要求有多大)并针对您的数据运行 map reduce queires 以生成报告。
哇..这是一个很大的话题。
让我从数据库开始。如果您要拥有大量数据,请首先获得一些好的东西。我喜欢甲骨文和 Teradata。
其次,记录交易数据和报告/分析之间存在明确的区别。将您的交易数据放在一个区域中,然后定期将其汇总到报告区域(模式)中。
我相信你可以通过这两种方式来处理
花钱解决问题:购买一流的软件(数据库、报告软件)并聘请一些精明的技术人员提供帮助
采用本土方法:只构建你现在需要的东西,并有机地发展整个东西。从一个简单的数据库开始,构建一个 Web 报告框架。有很多血统开源工具和廉价机构可以完成这项工作。
就 EC2 方法而言。我不确定这将如何适应数据存储策略。处理是有限的,这是 EC2 强大的地方。您的主要目标是有效的存储和检索。