2016-07-23 4 views
0

Как MMAPv1 Document сказалли WiredTiger из MongoDb имеет вопрос производительности перераспределении как MMAPv1

Все записи смежно расположены на диске, и, когда документ становится больше выделенной записи, MongoDB должен выделить новый рекорд. Новые распределения требуют, чтобы MongoDB перемещал документ и обновлял все индексы, относящиеся к документу, что занимает больше времени, чем обновления на месте, и приводит к фрагментации памяти. Изменено в версии 3.0.0.
По умолчанию MongoDB использует Power of 2 Sized Allocations, чтобы каждый документ в MongoDB хранился в записи, которая содержит сам документ и дополнительное пространство или дополнение. Заполнение позволяет документу расти в результате обновлений, сводя к минимуму вероятность перераспределения.

Но WiredTiger Document ничего не говорит об этом. Поэтому я просто хочу знать, очень ли хорошо, когда размер записи изменяется или имеет некоторые проблемы с производительностью, но не упоминается в документе.

ответ

3

Вам не нужно беспокоиться о перемещении документов, заполнении и т. Д. С помощью WiredTiger. Новые записи сначала записываются в файлы в неиспользуемых регионах, а затем включаются вместе с остальными данными в фоновом режиме позже. WiredTiger во время обновления фактически напишет новую версию документов, а не переопределяет существующие данные, как это делает mmapv1 во многих случаях. (Проверьте the video от онлайн-курсов MongodDB)

+1

Я просмотрел видео и знаю, что WiredTiger с использованием B-Tree для хранения данных не только индексируется как MMAPv1. Таким образом, у него нет прокрутки или перемещения документа. Большое спасибо. – Naryc