С механизмом хранения MMFiles все документы в любом случае загружаются в память при загрузке коллекции. Индексы необходимо перестраивать каждый раз, поскольку они не сохраняются. Данные документа синхронизируются на диск. В целом, это в основном подход с использованием памяти.
С механизмом хранения RocksDB документы и индексы сохраняются, и нет необходимости загружать коллекции полностью или частично в память. Вместо этого есть горячий набор для часто используемых документов. То, что не в нем, может быть загружено с диска. Все данные документа могут быть в несколько раз больше основной памяти, в отличие от модуля MMFiles.
Как правило, документы, включенные в запрос, загружаются в память в целом с помощью механизма RocksDB. Однако существует оптимизация для извлечения одного атрибута, если вы запрашиваете что-то вроде FOR doc IN coll RETURN doc.title
:
Optimization rules applied:
Id RuleName
1 reduce-extraction-to-projection
Это скоро будет расширено до 5 атрибутов в версии 3.3 и выше.
Другая оптимизация позволит отвечать на запросы по индексам только в том случае, если запрошенные атрибуты проиндексированы, что снимает необходимость загрузки документов с диска в память.
Некоторые из них могут помочь производительности для вашего варианта использования. Однако не следует хранить большие документы объемом 1 ГБ по другой причине: оба механизма доступны только для добавления. Любое изменение приведет к новой редакции документа. Копирование 1 ГБ данных документа для обновления одного атрибута не будет производительным. Если вы не собираетесь менять их, это может не беспокоить.