在本地存储数据并将其与Linux服务器上的数据库同步

时间:2010-05-03 17:15:12

标签: cocoa sqlite synchronization

我开发了一个mac应用程序,它不断与linux服务器上的数据库进行交互。随着数据的增加,从服务器获取数据的时间变得越来越昂贵。所以我打算在本地存储所需的数据,比如SQLite,并找到一些机制,通过它我可以将它与linux服务器上的数据库同步。

有人能建议我采取某种方式来实现它吗?

谢谢,

Miraaj

2 个答案:

答案 0 :(得分:1)

也许您可以制定缓存策略。例如,memcached。在不知道你的工作量的情况下很难说出更多。

答案 1 :(得分:1)

如果您要求在一个源和另一个源之间同步数据?祝好运。多年来,这一直是一个重要的研究领域,直到今天,它仍然主要针对具体应用。

像SalesLogix这样的软件会有一个中央数据库,其表格如下:

site | key | name | address | phone | city | state | last_update

然后每个远程用户都有不同的站点代码。当基于last_update字段进行同步时,它将检查站点和密钥以确保防止两个不同远程用户可能意外地为记录选择相同唯一标识符的冲突。

如果您有一些不那么复杂的东西,您可以雕刻数据访问层以跟踪到本地数据库的事务,然后在下次连接时重放它们。这里的问题又是一致性。

如果我将objectA.PropertyB更改为“test1”,并将其更改为“test3?”我们哪一个更正确?你怎么做碰撞检测?

我担心我还没有看到针对每个数据域的问题的单一解决方案。