yopp
печальненько
Alexey
рано или поздно запись в чанк после нескольких месяцев заканчивается, потому что ID протухает, но они все равно там лежат и неправильно балансируют
yopp
пришло время планировать смену шард ключа, потому что 9тб будет легче перелить чем 11 и уж тем-более чем 20
Alexey
пока можно попробовать приложить подорожник вроде поднятия размера чанка, но вот проблема в том, что пока непонятно как их размер посчитать
yopp
ето будет нетривиально, да
yopp
простой, но долгий вариант: добавить ко всем документам значение convertShardKeyToHashed
yopp
сложный, но побыстрее: взять снепшот, взять утилиту wt, пройтись по всему индексу составив heatmap ключей (значение — количество ключей в индексе), найти самые толстые и по ссылке на документ посмотреть какие id туда попадают
yopp
сделать выборку документов по этому id и посчитать размер jumbo чанка
yopp
очень муторный: расковырять исходники и найти как монга сама считает размер чанка, чтоб принять решение о его делении
yopp
ещё аналитический вариант: в софте считать heatmap
yopp
т.е. завести где-то счётчик id -> число документов
yopp
можно попробовать запустить агрегацию на все 9тб :)
yopp
не обязательно на самом деле на все 9
yopp
если у вас есть какой-то индекс, по которому можно ограничить выборку, то можно попробовать shard local запрос сделать с таким индексом
Alexey
yopp
т.е. известно где находится jumbo chunk, весь шард не надо сканировать
Alexey
yopp
3к шардов?
yopp
или 3к jumbo chunk?
Alexey
Jumbo чанков
yopp
есть конечно ещё вариант: медленно увеличивать размер чанка :)
yopp
и смортреть как уменьшается число jumbo
Alexey
а вот вопрос касательно этого. Надо их апдейтить, чтоб снять флаг? или балансировщик сам снимет?
yopp
а вот хз
Nick
гдето была инструкция по борьбе с jumbo
Nick
https://docs.mongodb.com/manual/tutorial/clear-jumbo-flag/#update-chunks-collection
Alexey
да...видел. там пишут апдейтить, но после деления, скорее всего и после увеличения тоже надо
Nick
а каой сейчас размер чанка?
AstraSerg
Gleb
Oleg
извините за, наверняка, глупый вопрос... я правильно понимаю - коллекции - аналог таблицы, а документ - аналог строки в реляционной бд?
Yar
Oleg
Vova
что?
Да ты правильно понимаешь
Vova
Только так или иначе работает по другому
V
ребят расскажите как тут быть
Мне программист говорит что базу публично (иметь внешний доступ ) к ней категорически запрещено и что ее сразу взломают какой бы там пароль не стоял , как тут вообще быть
AstraSerg
Vova
При правильной настройке ничего не взломают
Ivan
V
он сказал что ни фаервол ни пароли не спасут и что
V
он вообще говорит пробрасывай ssh
Vova
Если уж так говорить, то ничто не безопасно
Vova
Ссш тоже взломают когда-то если ещё не взломали
V
я вообще хочу пароли поставить на базы только чтобы от внутренних сотрудников отобрать доступы а то они лазиют и напрямую данные в ней меняют
V
а он говорит что это херово так как им неудобно
V
вообще ктото тут слегка занимается вопросами безопасности баз данных (монго )
V
есть какой то минимальный набор требований для минимизации рисков
Vova
Выдать можно каждому личный аккаунт и настроить какие права он будет иметь. Например, только на чтение или чтение + запись
V
V
но вопрос уже стал шире простого ограничения для внутренниго использование
Vova
V
вот есть приложение а у него хранятся ключи доступа
V
и получается получил доступ к приложению получил ключи и получил доступ к базе
AstraSerg
V
я как то не нахожу вообще уже аргументов против его настойчивости что базу можно защитить только если ее закрыть навсегда и не давать публичного доступа ни под каким предлогом
Vova
Вопрос зашёл в тему защиты ОС, это уже не совсем по адресу)
V
ну если остановится на базе данных
V
кто что думает про то что базу вломают если ее открыть или как минимум буду проблемы
Vova
Базу можно повесить слушать на какой-то порт и все будут через этот порт к ней подключаться и входить под своими логином/паролем. А доступ к самому серверу нужно полностью ограничить от третьих лиц
V
микс теории и практики
V
просто программист из visa пришел и там вот имел частую походу практику такую
Vova
Ну вообще те же mlab.com и mongodb atlas открывают внешний доступ к бд, поскольку они так делают, я думаю, это безопасно. Но опять же взломать можно практически всё) Если нужно только чтение с базы, возможно, стоит глянуть в сторону обёртки какой-то над базой данных, в виде АПИ например. В таком случае базу можно сделать полностью локальной.
yopp
«абсолютной безопасности» не бывает, разговоры про «безопасность» имеют смысл только в контексте конкретной модели угроз
yopp
если модели угроз нет, говорить смысла нет.
yopp
https://en.wikipedia.org/wiki/Threat_model
Yaroslav
Гайз подскажите , снял дамп с монги версии 3.3 накатил его на реплика сет монги версии 4.0.1 , в итоге проверяю count у коллекции и он отличается , на старой и новой монги . при этом на новой , куда не кто не пишет , он больше , это нормально ?))
Юрий
Здравствуйте. Тоже вопрос про дамп.
mongodump пишет
Failed: error writing data for collection collname to disk: error reading collection: Failed to parse: { ...
что это может быть?
AstraSerg
AstraSerg
AstraSerg
Юрий
Yaroslav
Ошибок не было? Может в логах что?
я не сколько раз позапускал и каждый раз не которые данные просто не доконца накатывались, я так понял ошибки происходит на моменте построения индексов . В логах самой монги ошибок нету
Yaroslav
Но я вот сейчас последний раз накатил дамп и все встало как надо расхождений по количеству данных нету
AstraSerg
Yaroslav
AstraSerg