OrientDB - 确保一致的状态

时间:2014-09-29 11:53:34

标签: java orientdb

我不太确定如何提出这个问题,但我希望你能解决这个问题......

我使用OrientDB作为单个应用程序使用的嵌入式数据库。我想确保如果此应用程序崩溃,数据库始终处于一致状态,以便可以再次启动我的应用程序,而无需对数据库执行维护或丢失任何数据。

也就是说,当我更改数据库并获得成功消息时,我知道已经写了更改。

OrientDB是否支持,如果是,启用的选项是什么?

(如果我知道这种设置被普遍接受的术语叫做什么,我可以自己搜索......)

1 个答案:

答案 0 :(得分:2)

OrientDB使用某种回滚日志,这意味着默认情况下它记录所有操作都是使用存储在磁盘上的数据执行的,并将它们放入仅附加日志中。每秒缓存和刷新此日志的记录。如果应用程序崩溃WAL(提前写入)/操作日志将被读取并且所有操作将再次应用。 WAL也有事务概念,这意味着如果事务在崩溃时没有完成,所有应用的更改都将被回滚。因此,您可以确定在OrientDB中关注:

  1. 将恢复在崩溃前一秒间隔之前写入的所有数据。
  2. 所有在交易中写入的数据都将处于一致状态。
  3. 您可以在最后一秒间隔内丢失部分数据。
  4. 可以更改WAL缓存的刷新间隔,但可能会导致性能下降。