ArangoDB键/值模型:值最大大小

时间:2020-05-22 10:05:04

标签: arangodb jnosql

关于ArangoDB的键/值模型,有人知道每个值的最大大小吗?我花了数小时在Internet上搜索此信息,但无济于事。您会认为这是机密信息。预先感谢。

1 个答案:

答案 0 :(得分:0)

答案取决于不同的事物,例如存储引擎以及您指的是理论极限还是实际极限。

对于MMFiles,如果关闭 public List<Test> findByExample(Test bean) { ExampleMatcher matcher = DefaultExampleMatcher.exampleMatcher(); Example<FiledReport> exampleQuery = Example.of(bean, matcher); return testRepo.findAll(exampleQuery); } ,则最大文件大小由启动选项wal.logfile-size确定。如果启用,则没有立即限制。

对于RocksDB,它可能受到某些服务器启动选项的限制,例如wal.allow-oversize-entriesrocksdb.intermediate-commit-sizerocksdb.write-buffer-sizerocksdb.total-write-buffer-size

在使用arangoimport导入1GB JSON文档时,您将遇到默认的rocksdb.max-transaction-size限制。您可以增加它,但最大显示为805306368字节(0.75GB)。 HTTP API似乎有相同的限制(bindVars为batch-size)。

您应该记住的是:由于存储层的仅追加性质,对文档进行变异可能是一项缓慢的操作。换句话说,将保留具有新修订号的文档的新副本,并且稍后会压缩旧修订版(我不熟悉所有技术细节,但是我认为这是可以公平地说的)。对于一个500MB的文档来说,在相当强大的系统上使用RocksDB似乎需要花费几秒钟来更新或复制它。拥有许多但很小的文档会更好。