【问题标题】:Best Practices: Transferring millions of entries to another MySQL DB最佳实践:将数百万个条目传输到另一个 MySQL 数据库
【发布时间】:2012-03-04 13:15:22
【问题描述】:

我有以下任务分配给我:

获取一个包含多个表和数十万条目的当前数据库,并编写一个脚本,将大部分数据传输到具有不同结构的单独数据库。

基本上已经创建了一个具有不同表结构的新数据库,我需要(在确认所有数据类型都匹配后)编写一个脚本来将数据复制到正确的表/列中。

最后我想知道在如此大规模的数据传输中是否有任何最佳实践、首选语言或提示/提示可以提供?

【问题讨论】:

    标签: mysql database data-transfer


    【解决方案1】:

    首先,我认为最重要的一点是,您应该不惜一切代价避免编写任何将您的数据从生产服务器传输到另一台的脚本。仅使用实时数据进行迁移的潜在危险就足够了。

    也就是说,我可以建议一些我认为可能对此类任务有益的做法。

    1. 从生产服务器中获取所有数据并将其转储到完全独立的开发箱中。消除对原始数据的风险以及对服务器性能的影响。
    2. 一旦在严格的开发平台上,我建议尽可能保持所有数据从 SQL 移动到 SQL,而不是使用某种中间语言编写脚本。当然,您的新结构可能完全禁止这种方法,但总的来说,不得不担心将数据从严格、可靠的数据类型转移到另一种语言(例如,无类型 PHP 或类型严格的 .net)回数据库增加了许多步骤,使您的任务变得复杂,增加了计算时间,并可能导致未捕获的损失。
    3. 在您有时间和能力的情况下,尽可能多地验证新设计模式的智能性。除非您束手无策,否则请尝试想象这些更改是否——事实上——改进,并且不可避免的查询重写提高了效率和可读性。

    我确信还有许多其他的事情需要注意,但我希望这些对帮助您从一种模式转移到另一种模式有足够的帮助。如果本地服务器是合理的,请不要让自己陷入远程服务器然后导入。保持简单!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多