事情是这样的。我设计了一个存储每日股票行情数据的模式。我有两个具有相同结构的表"todayData“和"historicalData”。这两个表使用innodb引擎作为其存储引擎。两个表之间没有FK,并且是独立的。
如果我需要查看今天的数据,我查询今天的表,如果我需要生成报告或趋势分析等,我依赖于历史表。在午夜期间,今天的数据将移动到历史表。
这个问题是历史性的,在几周内将是巨大的(> 10 GB,并且还在不断增加),不用说,从一个表中提供这些数据是愚蠢的。
我应该做些什么来确保历史记录生成的报告将是快速和响应的。
人们提出了分区等建议,但我想知道有没有其他方法可以做到这一点?
谢谢
Bo
发布于 2012-05-18 19:22:37
大数据并没有什么灵丹妙药。这一切都取决于数据和数据使用情况(访问模式等)。首先,确保表被正确索引,查询是最佳的,并且有足够的内存。如果您仍然有太多的数据无法包含在单个服务器上,请使用分片/分区(但在选择分片键时要注意访问模式--如果您必须为单个报告查询多个分区,这是很糟糕的。如果你真的必须这样做,请确保你可以并行地查询它们--这是目前内置分区不可能做到的(所以你需要应用级别的分片逻辑)
https://stackoverflow.com/questions/10651554
复制相似问题