Size: a a a

2020 May 03

RL

Roman Loginov in MongoDB Russian
Это не имеет отношения к предварительной оптимизации, речь скорее про именование переменных
источник

RL

Roman Loginov in MongoDB Russian
Если с нуля пишется - имена переменных
источник

RL

Roman Loginov in MongoDB Russian
Если работающий код - уже оптимизация при необходимости (не предварительная)
источник

y

yopp in MongoDB Russian
Это и есть предварительная оптимизация. Вы хотите изменить какой-то один подход, в пользу другого подхода, руководствуясь одним случаем.

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

В общем случае изменение не будет существенным, так как проблема очень редко в размере документа. Проблемы в основном в том, что нет индекса, или слишком много индексов или слишком большая вариативность значений индекса.
источник

y

yopp in MongoDB Russian
И попытка решить эту проблему размером документа — неэффективна.
источник

y

yopp in MongoDB Russian
Оптимизации это десятки и сотни человеко-часов. Чтоб это имело хоть какой-то экономический смысл, подобные изменения должны экономить тысячи долларов
источник

RL

Roman Loginov in MongoDB Russian
yopp
Я все ещё сомневаюсь в корректности измерений. Слишком большая разница. 15-20% ещё реально, больше — уже вызывает вопросы. Не исключаю специфики, но сомневаюсь.

Вероятно вы сравнивали существующую коллекцию, в которой могло образоваться много вакантных страниц, с новой коллекцией, в которую вы залили модифицированные данные.
источник

N

Nick in MongoDB Russian
а пример документа до и после можно?
источник

N

Nick in MongoDB Russian
куданить на пастбин
источник

y

yopp in MongoDB Russian
У вас 3 индекса в первой коллекции, 2 во второй
источник

RL

Roman Loginov in MongoDB Russian
в первой еще uniq автоматический
источник

RL

Roman Loginov in MongoDB Russian
во второй в качестве уника уже имеющееся поле
источник

y

yopp in MongoDB Russian
Второй момент: для корректного сравнения размера необходимо сделать дамп обеих коллекций и восстановить их с новыми именами или дропнуть и создать по новой
источник

y

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

RL

Roman Loginov in MongoDB Russian
документы в этих коллекциях служат как статичные данные, не подразумевающие никаких правок
источник

RL

Roman Loginov in MongoDB Russian
оригинальный
https://hastebin.com/gizubowujo.json
источник

RL

Roman Loginov in MongoDB Russian
модифицированный
https://hastebin.com/duhutudidu.json
источник

RL

Roman Loginov in MongoDB Russian
справедливости ради, 2 общих поля в документе были убраны и плюс один из массивов обьектов стал массивом массивов
источник

RL

Roman Loginov in MongoDB Russian
плюс пара дат из строк переведены в таймштамп
источник

RL

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