我正在使用我的 sql 数据库开发 php 应用程序,应用程序和数据库都托管在同一台服务器上(在客户端服务器上)。
我们想跟踪该数据库的一些表,为此我们在不同的服务器(供应商服务器)上创建了相同的表。
一旦将行插入到客户端数据库表中,在远程侧表中插入这些行的最佳方法是什么?
注意:要插入的行一次可以是 50000 或 50。
摆在我面前的选项:
1)要使用两个连接并在两个数据库中插入行,但这需要时间,因为我必须大量插入行。
2)使用curl请求远程数据库并在本地数据库中插入行后插入数据
使用内置在主/从设置中的 mysql 来保持数据库彼此同步
为什么不使用主/从复制,让数据库本身担心保持同步。这将比手卷系统强大得多。
正如其他分叉所评论的那样,使用复制听起来是理想的解决方案。但如果不幸的是不允许,那么这取决于要求。
如果客户端应用程序可以等待很长时间,直到成功插入 50000 或 50 行数据(如果行是 50000 行,我猜这需要几秒钟以上),那么您面前的两个选项仍然有效。
但是,如果您需要尽快将 http 响应发送回客户端应用程序,那么可能会有更好的解决方案。例如
您可以将您的服务器设置为客户端服务器(这将是主服务器)的从服务器,复制客户端服务器上的数据。
您还可以选择仅复制特定表或特定数据库。
设置起来非常简单,听起来它可以满足您的要求。