gpt4 book ai didi

mysql - 使用 PouchDB-CouchDB 和 MySQL 的移动应用程序

转载 作者:IT老高 更新时间:2023-10-28 23:58:17 26 4
gpt4 key购买 nike

我正在开发一个用 Cordova 封装的移动应用程序,它与我们基于 PHP 和 MySQL 的基于 Web 的应用程序一起运行。移动应用程序使用本地存储并通过已编写的服务层获取数据,以在移动应用程序和 MySQL 数据库之间交换数据。移动应用仅使用存储在主 MySQL 数据库中的数据子集。

我正在寻找用 pouch DB 替换我的移动应用程序本地存储解决方案,发现它需要 CouchDB ......这让我想到了一个潜在的配置/解决方案,我想找出是否可行可行的...

设置一个 CouchDB 数据库作为主 MySQL 数据库和移动应用程序的 PouchDB 之间的中介/从属运行是否可行?移动服务层将使用此数据库(以及必要时使用主 MySQL 数据库),主 SQL 和 couch-DB 之间的数据更新通过 cron 定期推送。 CouchDB 只会存储 MySQL 数据库中与移动应用程序相关的数据子集。

这个解决方案听起来有点矫枉过正/好主意吗?有没有更好的方法来处理上述设置?我确实喜欢 pouchdb-CouchDB 的想法……但不想重写我的整个 Web 应用程序以使用 couch-DB,而提供移动特定数据子集的额外抽象级别似乎很有用。

谢谢痕迹

最佳答案

在 Node 上运行的 PouchDB 实际上可以使用任何基于 LevelDOWN 的适配器,并且有一个用于 MySQL。我还没有测试过。更多信息在这里:http://pouchdb.com/adapters.html#pouchdb_in_node_js .

但是,这可能不太适合您的用例,因为 PouchDB 将存储在 MySQL 中的数据与您的应用程序当前在 MySQL 中使用的数据完全不同。为了支持复制,PouchDB 保留了存储的每个文档的修订历史(想想 git),这与 MySQL 等传统数据库不同,它只存储可以删除/插入/更新的表和行。像 CouchDB 和 PouchDB 这样的数据库是从头开始构建的,以支持复制,这就是这个版本控制系统存在的原因。

话虽这么说,如果您在 MySQL 和 CouchDB 之间编写自己的同步层,理论上它可以工作,但工作量可能太大,以至于您将失去 CouchDB 和 PouchDB 内置复制的优势。

关于mysql - 使用 PouchDB-CouchDB 和 MySQL 的移动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24034681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com