使用一个表组织两个客户的通信的正确方法是什么?

时间:2010-11-06 14:35:34

标签: sql qt postgresql architecture parallel-processing

我使用PostgreSQL作为我的数据库,C++ with Qt作为我的客户端。多个客户端可以同时连接到数据库并开始编辑一个表。组织这个过程的正确方法是什么?

我要做的最后一件事是在客户端编辑缓存表,在数据库中使用单独的表并修改上一次表,并在提交时生成某种diff过程。

3 个答案:

答案 0 :(得分:1)

请避免使用时间戳差异。

如果您认为需要,请使用行锁定。使用从数据库派生的序列,尽可能频繁地进行查询,同时避免性能问题。

修改

请参阅SELECT FOR UPDATE语法以了解行锁定选项。

生成

序列,保证是数据库管理的唯一数值。这是管理并发所需的层。

答案 1 :(得分:0)

或者有一个中间层和一个事务层来为你维护ACID。

我认为您的设计不会很好地扩展。

答案 2 :(得分:0)

阅读手册中的chapter 13, "Concurrency Control"