Size: a a a

2020 May 03

V

VDimir in MongoDB Russian
Привет! Разбираюсь с тем как устроен bson, насколько я понял ключи хранятся как есть, просто строкой. Также в монге документы хранятся в виде валидных bson. Возник вопрос почему ключи не кодируются,  для экономии места, времени на сравнение и т.п.? Кажется что поскольку ключи в документах примерно одинаковые обычно, то это может давать большой оверхед, так ли это?
источник

NS

Nikolay 🤷🏼‍♀️ Simoti... in MongoDB Russian
Alexey Zaburez
Да я уже решил все делать на клиенте, коллекции максимум могут быть 100 элементов и сами объекты небольшие
.sort({ _id: -1}) по идее тоже должен работать хорошо, т.к. по дефолтному индексу
источник

DL

Daniil Lebedinsky in MongoDB Russian
VDimir
Привет! Разбираюсь с тем как устроен bson, насколько я понял ключи хранятся как есть, просто строкой. Также в монге документы хранятся в виде валидных bson. Возник вопрос почему ключи не кодируются,  для экономии места, времени на сравнение и т.п.? Кажется что поскольку ключи в документах примерно одинаковые обычно, то это может давать большой оверхед, так ли это?
источник

V

VDimir in MongoDB Russian
Спасибо, то что нужно
источник

RL

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

y

yopp in MongoDB Russian
VDimir
Привет! Разбираюсь с тем как устроен bson, насколько я понял ключи хранятся как есть, просто строкой. Также в монге документы хранятся в виде валидных bson. Возник вопрос почему ключи не кодируются,  для экономии места, времени на сравнение и т.п.? Кажется что поскольку ключи в документах примерно одинаковые обычно, то это может давать большой оверхед, так ли это?
Усложняется сериализация
источник

y

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

y

yopp in MongoDB Russian
Все эти оптимизации не имеют смысла, так как в 98% случаев даже snappy нивелирует все нюансы
источник

y

yopp in MongoDB Russian
Экономить на размере ключей почти никогда не имеет смысла
источник

RL

Roman Loginov in MongoDB Russian
yopp
Все эти оптимизации не имеют смысла, так как в 98% случаев даже snappy нивелирует все нюансы
Snappy по дефолту стоит или указывать на коллекцию надо?
источник

y

yopp in MongoDB Russian
По-дефолту. С 4.2 есть поддержка zstd
источник

RL

Roman Loginov in MongoDB Russian
Да дефолт
By default, WiredTiger uses block compression with the snappy compression library for all collections
источник

RL

Roman Loginov in MongoDB Russian
yopp
Все эти оптимизации не имеют смысла, так как в 98% случаев даже snappy нивелирует все нюансы
Так вот, смысл все таки есть, проверялось на реальном примере и уменьшилась коллекция в два раза, путем сокращения ключей до 3-4 символов без особой потери читаемости.
источник

RL

Roman Loginov in MongoDB Russian
Так же пример кейса где это может быть важно - бесплатные 500мб на атласе.
источник

y

yopp in MongoDB Russian
Roman Loginov
Так вот, смысл все таки есть, проверялось на реальном примере и уменьшилась коллекция в два раза, путем сокращения ключей до 3-4 символов без особой потери читаемости.
Включите zstd
источник

y

yopp in MongoDB Russian
Roman Loginov
Так же пример кейса где это может быть важно - бесплатные 500мб на атласе.
Время разработчика дороже чем атлас
источник

RL

Roman Loginov in MongoDB Russian
К - Категоричность
источник

y

yopp in MongoDB Russian
Второй момент, разница в два раза вызывает вопросы

Или это какой-то специфический случай или ошибка дизайна эксперимента
источник

y

yopp in MongoDB Russian
Roman Loginov
К - Категоричность
Здесь не принято переходить на личности и давать оценочные суждения
источник

RL

Roman Loginov in MongoDB Russian
yopp
Второй момент, разница в два раза вызывает вопросы

Или это какой-то специфический случай или ошибка дизайна эксперимента
Документы весьма большие и ключи часто повторяются во вложенных массивах
источник