ArangoDB将自己描述为“大多数内存”数据库,但我不清楚它的含义。 FAQ提供的细节很少:
ArangoDB是一个“大多数内存”数据库,这意味着它 非常欣赏RAM,并且在不被强制时表现最佳 将数据交换到硬盘。
我正在考虑在Raspberry Pi上运行ArangoDB来为两三个用户提供服务。在这样的背景下,“大多数记忆”的含义是什么?
如果由于某种原因被拔掉,我会丢失数据吗?
答案 0 :(得分:3)
它主要在内存中工作,但也在磁盘上做一些工作。
更确切地说,它适用于内存映射文件,因此所有操作最终都将保存到磁盘(或等效的长期存储),但因为它不会等待(默认情况下)持久性磁盘发生,它可以从中受益。
其含义是,如果您使用此默认值,则会获得比您预期的更好的性能,但如果在保存发生之前(特别是突然断电)某些事情将其关闭,那么您可能会丢失数据或损坏数据库
如果您为立即同步配置集合,则可以防止这种情况发生,但性能会受到影响。