MySQL:同时从多个分片中检索数百万行

时间:2018-01-05 12:06:13

标签: mysql memory-management scale mysql-5.7

我们有2个MySQL数据库(16个分片中的两个表),100M +行和增长/更新。出于报告目的,

  1. 我需要每天从第一个数据库
  2. 获取所有行(50M +)
  3. 我需要从第二个数据库
  4. 获取当天创建的所有行(50M +)

    这些行可能会随时更新/插入。

    要求:

    1. 最小内存利用率(在写入文件之前,检索到的数据不应保留在内存中,客户端或服务器上)
    2. 从午夜数据库快照中获取数据。
    3. 数据库快照,因为如果查询花了10分钟并且数据以b / w更改,则检索到的数据应为午夜快照(不应在午夜后获取更改/更新的数据)。
    4. 有16个碎片。转储应该同时在所有分片中发生。其他数据不一致。
    5. 在考虑上述要求的情况下查询2个表的最佳方法是什么?

      注意:我尝试用MySQLDB编写一个python脚本,this doc提到检索到的数据将保存在客户端内存或服务器内存中,这是我不想要的。

      非常感谢任何帮助。

0 个答案:

没有答案