gpt4 book ai didi

mysql - 基于变化同步的数据库策略

转载 作者:搜寻专家 更新时间:2023-10-30 20:45:13 25 4
gpt4 key购买 nike

我有一个 Spring+Hibernate+MySQL 后端,它将我的模型(8 个不同的实体)暴露给桌面客户端。为了保持同步,我希望客户端定期向服务器询问最近的更改。过程可能如下:

  • A 点:客户端连接第一次并检索所有来自服务器的模型。
  • B 点:客户端询问服务器对于自 A 点以来的所有更改。
  • C 点:客户询问服务器对于自点 B 以来的所有更改。

要检索更改(点 B 和 C),我可以创建一个 HQL 查询,该查询返回我所有表中自上次检索以来最后修改的所有行。但是,我担心这可能是一个繁重的查询,如果经常执行会降低我的性能。

出于这个原因,我正在考虑其他替代方案,例如保留一个包含最近更新的单独表格以便快速访问。我曾考虑过使用 L2 查询缓存,但它似乎不符合我的目的。

有人知道适合我的目的的好策略吗?我最初的想法是保持对同步的控制并避免使用“自动”同步工具。

非常感谢

最佳答案

您可以将更改存储在队列表中。触发器可以在插入、更新、删除时填充队列。这保留了插入、更新、更新、删除等更改的顺序。下载后清空队列。

如果您有多个客户端,清空队列会导致问题....可能需要考虑一种设计来处理这种情况。

您可以选择多种设计,但都需要权衡取舍。我以前用过队列设计,但只是复制数据到一个目的地,而不是多个。

关于mysql - 基于变化同步的数据库策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4390704/

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