我目前正在构建一个应用程序,我正在为(当前)大约 15,000 种产品导入统计数据。目前,如果我要为来自一个来源的每天的统计信息维护一个数据库表,它将每天增加 15,000 行数据(假设每行 5-10 个字段,主要是浮点数,整数)。显然相当于每年将超过 500 万条记录放入一张表中。
我并不关心从其他来源引入数据的想法(从而为每个新来源将数据库的大小增加 500 万条记录)。
现在数据是基于统计/趋势的数据,每条记录基本上每天写入 1 次,读取次数也很多。但是,出于动态报告和绘图的目的,我需要根据规则(日期范围、值范围等)快速访问数据子集。
我的问题是,这是存储数据的最佳方式(MySQL InnoDb 表),还是有更好的方式来存储和处理统计/趋势数据?
我在这一点上折腾的其他选项: 1. 多个数据库(每个产品一个),其中每个数据源都有单独的表。(即数据库:ProductA,表:Source_A,Source_B,Source_C) 2. 一个数据库,多个表(每个产品/数据源一个)(即数据库:产品,表:ProductA_SourceA,ProductA_SourceB 等。 ) 3.factual
数据库中的所有或特定产品信息以及statistical
单独目录中的 csv、xml、json、(平面文件)中的所有数据。
到目前为止,这些选项都不是非常易于管理,每个都有其优点和缺点。在我进入开发的 alpha 阶段之前,我需要一个合理的解决方案。