0

我正在设计一个新的 MySQL 数据库(使用 InnoDB 作为引擎),它将托管记录大量数据的表(每天大约 200 万条记录,保存 5 年的数据 = 大约 3 650 000 000 行)。现在,显然将所有这些存储在一个表中并不是一个非常聪明的主意,所以这些几乎是我的选择:

  1. 在表上使用分区(在这种规模下这将真正提供多少改进?)
  2. 生成一个新表以包含每个月的数据(因此,每个表大约 60 000 000 行)

还需要注意的是,我将不得不进行某种多主复制(或集群)。

现在,我认为选项 2可能更好,因为它允许查询尽可能少的数据集(当用户指定要搜索的日期时),并且还可以简化 5 年后的数据归档(只需移动整个表格)。但是,使用选项 2 意味着我将不得不使用连接、联合,或者我必须运行多个单独的查询才能生成结果集(如果您需要按其他方式排序,则不首选后者日期)。

所以,我的问题是,除了使用连接之外,有没有一种方法可以在多个表中并行运行查询,从而真正将重点放在速度上?. 我在想像谷歌这样的人,他们能够通过或多或少地做这类事情来提高搜索速度。

谢谢!

4

1 回答 1

0

哥们,我建议你去一些基于大数据的数据库,比如 Mongodb。在那里,您可以获得高效处理大数据和快速查询处理等功能。

于 2013-01-22T06:43:59.173 回答