我目前正在构建一个应用程序,我正在为大约15,000种产品导入(当前)统计数据。在目前,如果我要为每天统计数据库维护一个数据库表,则每天将增加15,000行数据(假设每行5-10个字段主要为float,int)。显然,每年将超过500万条记录等同于一张表。什么是存储趋势数据的最佳方式?
这并不关心我如何从其他来源引入数据(并因此增加了每个新来源的500万条记录的数据库大小)。
现在数据是基于统计/趋势的数据,并且每条记录每天基本上有1次写入,并且有很多读取。为了实时报告和绘图,我需要快速访问基于规则(日期范围,值范围等)的数据子集。
我的问题是,这是存储数据的最佳方式(MySQL InnoDb表),还是有更好的方式来存储和处理统计/趋势数据?
其他选项我在这里已经讨论过: 1.多个数据库(每个产品一个),每个数据源都有单独的表。 (即Database:ProductA,Table(s):Source_A,Source_B,Source_C) 2.一个数据库,多个表格(每个产品/数据源一个) (即数据库:产品,表格:ProductA_SourceA,ProductA_SourceB等) 3.所有factual
或数据库中的特定产品信息以及所有statistical
数据在csv,xml,json,(平面文件)中的不同目录中。
到目前为止,这些选项都非常易于管理,每种选项都有其优点和缺点。在进入alpha开发阶段之前,我需要一个合理的解决方案。
我发现,谈论使用MySQL基于列引擎PDF:http://forge.mysql.com/w/images/5/54/MySQLColumnDatabases.pdf,我要看看这个选项的更多一些,我之前没有听说过基于列的存储,这可能是我正在寻找的。 – 2011-04-20 15:08:08