2012-03-13 97 views
0

我正在为使用PHP和MySQL的零售行业构建基于Web的ERP应用程序。我将有不同的本地数据库和一个在服务器上(相同的结构)。我打算做的是在不同的商店中的本地主机上运行此应用程序,并在一天结束时从不同商店的不同本地主机更新服务器上的数据库。从多个本地数据库更新服务器上的数据库

请记住,我想根据在不同数据库中运行的序列查询来更新服务器上的数据库。

任何人都可以帮助我吗?

谢谢。

+0

您可能需要考虑将远程数据库设置为从站。 – 2012-03-13 07:50:43

+0

相关进程称为ETL(来自数据仓库)http://en.wikipedia.org/wiki/Extract,_transform,_load – Basti 2012-03-13 07:52:56

回答

0

您可能必须在每日文件中记录每个插入/更新/删除sql请求,并在本地数据库上记录请求的时间戳。

例子:

2012-03-13 09:15:00 INSERT INTO... 
2012-03-13 09:15:02 UPDATE MYTABLE SET... 
2012-03-13 09:15:02 DELETE FROM... 
... 

然后每天发送给你的日志文件主服务器上,合并所有文件,对它们进行排序,以保持执行顺序和读取新的文件来执行对主数据库请求。

然而,这是一个好奇的方式来做ERP应用程序的事情。产品库存信息无法合并,这是一种常见信息,请注意这类数据。

您不能在此进程中使用自动增量,这将导致某些请求上出现重复键或更新坏记录上的请求。

+0

感谢befox。我记住的事情是,如果我提供了一个中央数据库,那么商店的所有者将不必单独登录到不同的本地主机,而是可以从中央数据库访问数据,从而为他提供来自不同的商店。但是,您所指出的问题也是值得关注的,例如具有重复密钥和产品库存的问题。将分区中央数据库解决问题吗? – Sid 2012-03-13 08:42:29

+0

如果您可以为每个商店拥有不同的数据库,则可以使用MySQL复制系统...它将保持每个中央存储数据库处于最新状态。请参阅http://dev.mysql.com/doc/refman/5.1/en/replication-solutions.html – befox 2012-03-13 09:36:28

+0

我已经研究过该选项以及befox,但事情是MySQL不会支持多主复制。如果我有多个本地数据库,这意味着我有多个主服务器,我想从服务器中的从服务器数据库上复制数据。我认为这是不可能的。 – Sid 2012-03-13 09:52:17

1

也许从本地主机网站链接到您的主数据库开始?没有必要在一天结束时更新,对数据库所做的每一个改变都可以简单地在没有“中间人”的数据库中进行,可以这么说。如果您需要分离本地数据库,请同时运行这两个查询?

注意:我不熟悉ERP应用程序的工作方式,所以请原谅我,如果我在这里的基础。

+0

感谢您的回答道格拉斯。零售ERP应用程序还包括实时操作,如销售交易。如果我同时对本地和服务器运行查询,你不认为速度会成为问题吗? – Sid 2012-03-13 08:45:01

+0

我认为这取决于您的服务器的能力,一次进入的条目数量和互联网连接。我不是这个问题的专家,但我想像简单的文本更新可以一次运行数百次,几乎没有问题。如果您上传MB/GB数据,则更有可能出现问题。就个人而言,我会设置它,看看运行情况如何,但我也只有时间和没有太多的钱花在测试/研究:) – DACrosby 2012-03-15 14:10:58

相关问题