arangodb wal / logfile / journal / datafile relations

时间:2017-06-28 14:16:44

标签: arangodb

  • 安装了Arangodb 3.1单实例
  • 拥有rdbms多年的dba经验,以及非sql的一些经验
  • 阅读arangodb手册,但仍然对journal,datafile,logfile和wal之间的关系感到困惑。每个人的位置,创建/清除的名称,等等。

    是否有任何单一文件解释这些基本实体之间的关系?

祝你好运, 阿维

1 个答案:

答案 0 :(得分:0)

ArangoDB MM文件引擎通过以下方式工作:

  • 它保留了一个内存映射的WAL文件,文件被放入其中。系统调用用于确保文件的某些部分实际上已存储到磁盘。
  • 在空闲时间,文档从WAL文件移至其各自的收集文件。
  • 一旦删除文档,就会写入一个删除标记。
  • 更新首先写入此删除标记,然后创建新文档。
  • 收集过程遍历数据库文件,并连接删除标记及其各自的文档-因此该文档最终消失了。
  • 压缩程序可以将几个收集文件连接在一起,因此可以保持打开文件的数量稳定。

ArangoDB 3.2 onwars上,您还可以选择rocksdb存储引擎,该引擎具有自己的机制。