Сколько места занимает хранение данных в MongoDB? - PullRequest
0 голосов
/ 28 января 2019

У меня есть MongoDB примерно с 50 collections, но в будущем он может увеличиться.На каждом collections у нас будет fields в диапазоне от 5 до 11 столбцов.

Мой вопрос заключается в том, как оптимизировать MongoDB, чтобы не занимать места для хранения из-за superLongCollectionFieldName.Как вычисляется символ / слово при сохранении данных?

Допустим, у меня есть поле с именем userID и другое поле с именем IP, оба ли они принимают полный размер для битового блока?

1 Ответ

0 голосов
/ 29 января 2019

Общее хранилище, необходимое для ваших данных, будет зависеть от многих факторов, связанных со случаем использования, включая схему, индексы, степень сжатия данных и ваши шаблоны обновления / удаления данных.Длина имен полей не оказывает существенного влияния на размер индекса (поскольку индексы хранят только значения ключей и местоположения документов), но длинные имена могут оказывать некоторое влияние на использование хранилища.Наилучшим способом предположить использование хранилища было бы создание некоторых репрезентативных тестовых данных с использованием генератора данных или путем экстраполяции из существующих данных .

MongoDB (по состоянию на 4.0) не поддерживает центральный каталогимен полей: имена полей хранятся в каждом документе, поэтому документы с самоописанием в распределенном развертывании.Во всех современных версиях MongoDB (3.2+) данные сжимаются по умолчанию, поэтому размер имен полей не является типичной проблемой для большинства случаев использования.

Вы можете реализовать сопоставление с более короткими именами через код приложения, ноэто увеличит накладные расходы на перевод и уменьшит ясность документов, хранящихся на сервере.Подробнее см. SERVER-863: токенизация имен полей .

.
...