Size: a a a

2020 May 03

y

yopp in MongoDB Russian
Roman Loginov
нисколько не претендую на истину и совсем не хочу советовать кому либо, что либо.
предлагаю к этому относиться просто как к интересному факту.
и мой кейс был весьма специфичный и это не коммерческий проект.
в нормальном продакшене я в целом соглашусь с коллегой - овчинка выделки скорее всего не будет стоить.
По ссылке две разные схемы. Вывод о том, что длинна ключа является причиной наблюдаемых изменений — некорректен.
источник

y

yopp in MongoDB Russian
Второй момент, вы сравниваете размер документа, а не размер хранилища
источник

y

yopp in MongoDB Russian
Для корректного сравнения необходимо сравнить collStat в частности storageSize
источник

y

yopp in MongoDB Russian
avgObjSize это size / count. А не storageSize / count
источник

y

yopp in MongoDB Russian
Ещё момент: массивы в bson это документы, у которых вместо ключа индекс строкой. Ну и собственный префикс типа
источник

y

yopp in MongoDB Russian
Array - The document for an array is a normal BSON document with integer values for the keys, starting with 0 and continuing sequentially. For example, the array ['red', 'blue'] would be encoded as the document {'0': 'red', '1': 'blue'}. The keys must be in ascending numerical order.
источник

RL

Roman Loginov in MongoDB Russian
Годная инфа, спасибо
источник

RL

Roman Loginov in MongoDB Russian
Посмотрю на storageSize. Тем не менее, он все равно должен коррелировать.
источник

y

yopp in MongoDB Russian
Плюс у вас из второй схемы пропали огромные esi и uri
источник

RL

Roman Loginov in MongoDB Russian
Еще бы ради интереса сделать трансформацию без изменения схемы, только ключи.
источник

y

yopp in MongoDB Russian
Экономия на спичках это сложно и там есть множества нюансов
источник

y

yopp in MongoDB Russian
Я не просто так говорю про ROI
источник

y

yopp in MongoDB Russian
Это очень трудоёмкий процесс
источник

RL

Roman Loginov in MongoDB Russian
Я уже писал выше, это конкретно мой кейс, рабочее решение. Я не веду речь про гуд практис, здесь интересны детали хранения монгой данных.
источник

y

yopp in MongoDB Russian
Roman Loginov
Посмотрю на storageSize. Тем не менее, он все равно должен коррелировать.
Уверен что там будут менее впечатляющие цифры
источник

RL

Roman Loginov in MongoDB Russian
Надо заценить
источник

RL

Roman Loginov in MongoDB Russian
10-20%?
источник

y

yopp in MongoDB Russian
Не больше, да
источник

y

yopp in MongoDB Russian
Если сравнить две схемы в которых порезаны ключи, при этом структура вообще не изменилась. Изменение порядка полей имеет большое значение для компрессии и сразу делает сравнение невозможным
источник

y

yopp in MongoDB Russian
Так как изменение порядка ключей в оригинальном документе может иметь сходный эффект
источник