多客户端写入,要求每次写入的数据要么都可见,要么都不可见

我们有多个客户端程序想往DolphinDB database中写入分钟级数据,因为DFS不支持多个客户端并行写入同一个分区,因此现在规避的方法是采用了多个客户端都写入同一张流数据表,DFS表来订阅这张流表的数据,数据分析计算就从DFS表中取数据。

我们有个读数据的程序,希望要么读不到数据,要么能读到一次写入的所有数据,不能取到中间状态。假设A、B、C三个客户端程序都在写入数据,我们希望每次都能读到A的所有数据,要么啥也读不到。对程序B和C也一样。请问有其他比较好的解决方案吗?

请先 登录 后评论

1 个回答

logger

DolphinDB的DFS表数据读写是支持快照隔离的。一次写入的数据,读的时候要么全部读不到,要么全部读到。

而且写入批次间隔较大,因此可以去掉流表,直接写入DFS表,客户端在写入DFS表失败后,可重试写入。


请先 登录 后评论