首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步数据库

同步数据库
EN

Stack Overflow用户
提问于 2008-11-30 13:22:59
回答 2查看 1.4K关注 0票数 2

我正在开发一个Adobe AIR应用程序,它使用SQLite数据库在本地存储数据。在任何时候,我都希望最终用户将他/她的本地数据同步到中央MySQL数据库。

对此有什么建议和建议吗?性能和稳定性是关键(除了安全性;)

EN

回答 2

Stack Overflow用户

发布于 2008-11-30 14:59:01

我可以想出几种方法:

  1. 定期转储您的MySQL数据库,并从转储创建新的SQLite数据库。然后,您可以为用户客户端提供SQLite数据库(SQLite数据库包含在单个文件中),以下载并替换当前的database.
  2. Create一个SQLite脚本,该脚本生成必要的语句以使当前数据库达到最快速度(各种INSERT、UPDATE和DELETE语句)。为此,必须在数据库中连续记录每次更改的时间(每行的创建和更新时间,并保留已删除行的历史记录)。用户的客户端将下载diff文件(各种语句的文本文件)并将其应用于本地数据库。

这两种方法都有自己的优缺点-通过转储整个数据库,您可以确保所有数据都能通过。它也比创建diff简单得多,但是它可能会给服务器带来更多的负载,这取决于数据库在转储之间更新的频率。

另一方面,数据库之间的差异将只给您提供更改的数据(希望如此),但它更容易出现逻辑错误。这也会给客户端带来额外的开销,因为它必须创建/更新所有必要的记录,而不仅仅是复制文件。

票数 1
EN

Stack Overflow用户

发布于 2008-12-09 03:12:40

如果你只是从服务器端同步到客户端,Eran的解决方案应该可以工作。

如果你只是从客户端同步到服务器端,只需要反向同步即可。

如果你要同步两种方式,祝你玩得开心。您可能至少希望保留更改日志,并且需要弄清楚如何处理冲突。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/328850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档