Python与mySQL同步用于本地应用程序?

时间:2012-02-11 03:04:17

标签: php python mysql localhost sync

这些问题上有很多问题,但我很难将它们应用到我的场景中。任何帮助将不胜感激!

我们目前在网站上托管了一个正常运行的mySQL数据库,从网站输入数据,然后通过PHP将数据放入数据库。

同时我们想要创建一个脱机工作的python应用程序。它应该执行与Web版本相同的所有功能并完全在本地运行,这意味着它需要整个数据库的副本才能在本地运行,并且当对这样的本地数据库进行更改时,它们会在下次有Internet连接时同步

首先,我不知道离线运行这样一个数据库的最佳方法是什么。我正在考虑设置一个本地主机,但是这需要可以分发给许多机器。因此,通过某种安装程序设置本地主机可能是不切实际的吗?

其次同步?不知道如何解决这个问题!

非常感谢任何帮助。

谢谢!

3 个答案:

答案 0 :(得分:1)

要将Python绑定到MySql,您可以使用HTSQL:

http://htsql.org

然后,您还可以通过来自AJAX呼叫或服务器端的http请求查询您的MySQL数据库,例如: cURL(当然还可以选择编写标准SQL查询)。

有一个名为HTRAF的JQuery插件,用于处理客户端对HTSQL服务器的AJAX调用。

HTSQL服务器也在localhost上运行。

你会使用什么操作系统?

答案 1 :(得分:0)

您打算在本地python离线应用上运行mysql吗?我会建议像sqlite这样的东西。至于保持同步,它还取决于需要同步的数据类型。需要回答的一个问题是:

这些python应用程序生成的数据是否有点混乱?如果是(即它与其他实体没有任何关系),那么您可以在本地对数据进行排队并将其推送到集中托管的网站。

答案 2 :(得分:0)

您的本地应用程序需要具备多高性能?此外,本地可用的互联网连接有多可靠?如果您不需要极高的性能,为什么不将数据留在远程MySQL服务器中?

如果您确定需要访问本地数据,我会查看MySQL的内置复制以进行同步。设置/使用非常简单,您可以使用它来维护远程数据库的本地只读副本,以便快速访问数据。您只需在应用程序中构建在远程服务器上执行写查询的功能,并对本地数据库执行读取查询。两台服务器之间的延迟时间通常非常短......就像毫秒级......但是你仍然需要应对网络拥塞,以防止本地从属数据库瞬间与主服务器完全同步。 / p>

至于python方面,谷歌 mysql-python 因为你需要一个python mysql绑定来使用MySQL数据库。最后,我强烈推荐SQLalchemy作为一个带有python的ORM,因为它会让你的生活变得更容易。

我想说一个理想的解决方案是设置一个远程REST API Web服务,并使用它来代替直接访问数据库。当然,你可能没有内部能力,时间或倾向于这样做......这也没关系:)