yopp
Только надо учитывать что это будет не быстро. А балансировка потом может вообще занять пару надель
Nick
870 Гб
Если посмотришь на таблицу с лимитами размеров https://docs.mongodb.com/manual/reference/limits/#Sharding-Existing-Collection-Data-Size , то там смотришь что при максимально допустимом ключе в 512 байт и дефолтном размере чанка в 64Мб вкладываешься в лимит в 1Тб
Nick
Поэтмоу никаких дополнительных действий пока не требуется
Nick
Единственно советую перечитать раз 10 пункт перед выбором ключа: https://docs.mongodb.com/manual/reference/limits/#Maximum-Number-of-Documents-Per-Chunk-to-Migrate Если будет плохо выбран ключ шардирваония, то есть вероятность получить дикие перекосы по распределению места. Если же в одном чанке будет данных больше лимита и ключ шардирования не позволит разбить чанк (называется jumbo) , то данный чанк не сможет мигрировать на дургие ноды
Nick
ничего не напутал?
yopp
Вот кстати, роль ключа и его поведение — самое плохо документированное место в монге
yopp
Надо вебинар замутить про шардинг
Viktor
Вот кстати, роль ключа и его поведение — самое плохо документированное место в монге
На курсах по монго перформансу выделена отдельная неделя на изучение ключей для шардинга
SvPupok
Только надо учитывать что это будет не быстро. А балансировка потом может вообще занять пару надель
это понятно, для шардирования предыдущей коллекции вообще пришлось настраивать окно балансера, что бы не раскидывать чанки в рабочее время.
yopp
Интересно, стало ли лучше в 3.6 с балансировкой
yopp
Балансировка в один поток это страшно вообще
SvPupok
сейчас еще проблема возникла, есть коллекция размером в 4.5 Тб, шардирование по составному ключу, кластер из 7-ми шард, на 2х шардах размер коллекции превышает 1Тб, и суммарный размер индексов скоро достигнет размера ОЗУ. Планирую пока добавить дополнительные шарды, и переписать условия распределения чанков. в смысле переделать диапазоны.
yopp
Про общую архитектуру, чтоб понимать как вообще это работать и что это не так страшно как кажется. И что это не серебряная пуля.
Viktor
На мой взгляд не про ключи надо говорить, а про шардинг.
Ты имеешь ввиду про инфраструктурные вопросы?
Viktor
ага, понял
Nick
а интенсивность? интерсно узнать какого рода задачи решаются с помощью монги
SvPupok
а интенсивность? интерсно узнать какого рода задачи решаются с помощью монги
хм. прирост данных составил порядка 1 ТБ за последние 50 дней.
Nick
а общая задача в чем заклчюается
SvPupok
хранение и аналих входящей документации
eshch
хм. прирост данных составил порядка 1 ТБ за последние 50 дней.
проблема с этими данными что их надо выгружать взад, потому что после обработки они нужны намного меньше. тогда бы не росло так быстро
eshch
росло бы, но в другом холодном и темном месте
eshch
после какого-то момента нет
eshch
и после этого их надо лить в другое место
Nick
интересненько, а для анализа используются средства монги, типа aggregate, или данные вытаскиваются и уже нализируются во внешнем приложении?
eshch
агрегации используют
SvPupok
грубо говоря, каждый входящий документ, внутри себя еще хранит определенную историю обработки, которая обновляется. к сожалению, при разработке архитектуры мало кто задумывался о вопросах архивации.
Nick
ну и как оно шаволется хоть? нет желания чтото с этим сделать, сменить монгу на чтото еще?
Nick
)))
SvPupok
да и щас мало кто задумывается бгг
кроме нас, как дба. потому как нам же это все и править)))))
eshch
ой не рассказывай
eshch
мы давно обсуждаем эту тему
SvPupok
Это еще просто не все в дискуссии)))))))
Nick
просто мои попытки делать запросы по анализу данных закончились гдето на рубеже 200Гб, а потом просто оставили как почти холодное хранилище, переделав структуру.
yopp
@nonamenix @SerhioRamas а вы как?
yopp
@lig11 и ты тоже!
Danil
@nonamenix @SerhioRamas а вы как?
предновогодние релизы )
yopp
Экстремалы
Danil
Есть немного
Alexey
Привет. Подскажите, плз... Есть, скажем, операции, по которым выяснить IP источника. В CurOp() виден только ip mongos ну и ConnID, который в mongos.log никак не присутствует. И как тогда его искать?)
yopp
Давайте реванш за прошлый. А то пока Москва ведёт со счётом 1:0 😂
Alexey
клиента, который соединяется с Mongos
yopp
В лог монгоса пишутся факты открытия соединений в принципе?
Alexey
да. но те, connID там не присутствуют
yopp
Значит соединение открыто раньше
yopp
Не может одно писаться, а другое нет
yopp
Поищите в ротейтнутых логах
Alexey
а в какой момент запись попадает в лог? в момент соединения или когда запрос завершился?
yopp
Да по-моему в момент когда соединение акцептнулось вообще
SvPupok
connid в логах монгоса не совпадает с currentOp
Alexey
yopp
Есть шанс что там connId самого монгоса
yopp
Можно грепнуть лог монгод на этот предмет
SvPupok
была похожая задача, отследить ip клиента, с нехорошими запросами, в логах конкретного Mongod и в currentOp регистриркется только connid с монгоса
Alexey
там я вижу только ip mongos
yopp
Но вообще можно в комментарии в драйвере класть всё что угодно
yopp
там я вижу только ip mongos
А, ну тогда всё верно
yopp
Запрос то от монгоса в ноду приходит.
Alexey
Но вообще можно в комментарии в драйвере класть всё что угодно
внезапно те, кто делает клиентские запросы этого не знали. Теперь вот и ищу их))
yopp
Ну поправьте клиента
yopp
И сразу видно станет
Alex
@dd_bb тебя там где искать то на московоской ?
yopp
Я освободился полчаса назад
Alex
ну еще 2 часа
Alex
или может таки на бакунине и того ?
yopp
Да. А что там на московской есть? Дикенз?
Alexey
Ну поправьте клиента
найти сначала их нужно. их много... но спасибо, прояснилось немного
yopp
В смысле на московском