数据库记录的事务日志(批量更新)

时间:2011-11-29 21:55:47

标签: .net database postgresql synchronization ios5

我会将几个不常连接的客户端连接到带有postgres后端的N层应用程序。

其中一些客户可能会比其他客户落后几天。这是针对销售点设置的。

我的表数很少,只有customers, orders, orders_details, products, inventory和一些配置表。

我想提供一种可靠的方法来在设备连接到主服务器时更新设备,以复制和应用更改。

我怀疑事务日志是最好的方法,但我不知道它是怎么做的。

我想在客户端和客户端创建一个表。服务器:

OperationType | UserId | TimeStamp | Source | JsonData

但我不确切知道如何继续。我可以看一下示例实现吗?我不想要像Sync Framework那样繁重的通用解决方案。另外,我需要从obj-c,python客户端访问服务器 - 服务器是.net。

客户需要独立运营,因此我无法保留记录。

1 个答案:

答案 0 :(得分:0)

在PostgreSQL上,最好的方法可能是使用Slony来处理实际更新(允许异步/离线方法),然后区分主服务器中的数据源和用于应用程序目的的权威信息。在这个结构中:

  1. 每个服务器都有自己的写入源表,并在普通操作过程中与主数据表一起查询。

  2. 每个服务器将其源表复制到主服务器的源表的分区,然后使用触发器将此数据复制到主表中,并复制到所有客户端。子数据库(如果我们可以调用它)然后在它们确认复制两种方式都成功之后截断了源表。