PHP MYSQL ETL.我应该使用 ETL 工具、存储过程还是 php 脚本


PHP MYSQL ETL. Should I use ETL tool, stored procedure or php scripts?

我们正在重组整个数据库。话虽如此,数据库结构已经发生了巨大变化。一些表字段将转换为表行;会有很多验证;一些表被分解为多个表,而其他表则被组合在一起。基本上,我们将旧数据库更改为3NF。

新模式已准备就绪,我的任务是执行 ETL。我应该怎么做?我不熟悉任何ETL工具,所以那里有一个学习曲线。我在想编写存储过程,它们是否能够处理我试图实现的所有这些复杂的东西?我可以编写 PHP 脚本,这样我就可以更好地控制数据验证,但由于超时和长脚本,不确定这是否是一种方式。数据库大小约为 6 GB,大约有 450 个表。

请提出建议。

我建议创建一个PHP迁移脚本,该脚本从命令行运行。从命令行运行的 PHP 脚本不会超时。

您还可以在脚本顶部添加"set_time_limit(0)":

<?php
set_time_limit(0);
//rest of the code goes here

我不确定存储过程或商业 ETL 工具是否必要。只要确保将迁移脚本代码分解为适当的函数/方法,您应该没问题。

我不会创建一个本土的系统。我见过的少数人往往是脆弱和缺乏的。您需要数月甚至数年才能达到基本的 ETL 工具。

更多关于ETL工具的优缺点。

http://www.informationweek.com/software/information-management/kimball-university-should-you-use-an-etl-tool/d/d-id/1066486?