【发布时间】:2013-09-11 14:39:27
【问题描述】:
我们正在重组整个数据库。据说,数据库结构发生了巨大变化。一些表格字段将被翻译成表格行;会有很多验证;一些表被分解成多个表,而另一些则被合并。基本上,我们将遗留数据库更改为 3NF。
新架构已准备就绪,我的任务是执行 ETL。我应该如何进行?我不熟悉任何 ETL 工具,所以那里有一个学习曲线。我正在考虑编写存储过程,它们是否能够处理我想要实现的所有这些复杂的东西?我可以编写 PHP 脚本,因此我可以更好地控制数据验证,但由于超时和长脚本,我不确定这是否可行。数据库大小约为 6 GB,大约有 450 个表。
请提出建议。
【问题讨论】:
-
我不完全确定您的情况,但看起来混合解决方案对您的情况会有所帮助。因此,您可以对某些部分使用 php 脚本/mysql 存储过程,对其他部分使用诸如 Pentaho PDI(Kettle) 之类的 ETL 工具。
-
无论如何,从长远来看,学习 ETL 工具会有所帮助,因为这将帮助您进行数据库迁移和备份等。为此,我强烈推荐 Kettle/Pentaho PDI。
标签: php mysql performance etl