3

我们正在重组整个数据库。据说,数据库结构发生了巨大变化。一些表格字段将被翻译成表格行;会有很多验证;一些表被分解成多个表,而另一些则被合并。基本上,我们将遗留数据库更改为 3NF。

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

请提出建议。

4

2 回答 2

1

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

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

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

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

于 2013-09-11T14:56:54.110 回答
0

我不会创建一个本土系统。我见过的少数往往是脆弱和缺乏的。您将花费数月甚至数年的时间来了解基本的 ETL 工具。

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

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

于 2015-01-30T08:49:01.533 回答