Max
я опыты ставлю пока незачем.
yopp
Тогда почему из дампа невозможно восстановить?
Max
очень много данных, восстановление будет занимать недели, думаю.
yopp
Опыты на продуктивной системе?
Max
сейчас тестируем шардинг на тестовых данных скоро будет нагрузочное тестирование, и дальше это все в прод. но есличтот будет не так - хочу уметь откатиться обратно.
Nick
если не секрет, то много это сколько?
Max
прод сейчас на репликасете ставим опыты с переходом с репликасета на шардинг, разнесённый по странам.
yopp
Балансировка большого числа чанков на один шарж займёт вечность. 3.4 мог балансировать около не больше 2-3 чанков в секунду.
Max
если не секрет, то много это сколько?
Вам в каких единицах? :) 9 тер данные на диске + 550 гиг журналы + база local + 1.5 тер индексов Это если просто смотреть на то, сколько занимает данных
yopp
Поздравляю, вы очень поздно задумались о шардинге :)
Max
Балансировка большого числа чанков на один шарж займёт вечность. 3.4 мог балансировать около не больше 2-3 чанков в секунду.
У нас тестируется вариант, когда на новый шард сначала только маленький кусок данных едет. по сути - это гео шардинг и мы только маленькую страну тестируем с выносом. чисто как PoC Вот вернуть бы это взад
Max
Поздравляю, вы очень поздно задумались о шардинге :)
мне тут нечего сказать задумались давно, но бизнесу,как обычно, пофик, пока жареный петух не клюнет
Max
короче, все как обычно. :(
Max
на 3.6 пока не тестируем - в текущей версии нельзя с shardsvr запуститься
yopp
Значит вы с бизнесом разговаривать не умеете ;) но это другая проблема
yopp
В вашем случае «надежный вариант» это как в доке написано
Max
Значит вы с бизнесом разговаривать не умеете ;) но это другая проблема
Согласен я и монгу не сильно-то умею, но делаю, что могу.
Max
В вашем случае «надежный вариант» это как в доке написано
я понял спасибо жаль, конечно, что даже при шардинге одной коллекции для тестов не будет пути обратно.
yopp
Если вы хотите вынести только небольшую часть, то проведите тестирование. Залейте данных в два раза больше чем будете выносить, зашардите, проставьте зоны, заметьте сколько займёт балансировка. А потом зоны сведите на один шард и посмотрите сколько оно будет литься назад. Умножите потом на 20 и будет примерное понимание прокатит ли вариант с балансировкой
Max
а в штуках документов это сколько, для самой большой коллекции
данные привязаны к коллекции по месяцам в январе насобиралось 2915132366 документов
Max
но все-таки — при условии, что все чанки переедут на один шард - его потом в обычном режиме можно будет в репликасет перевести? тушим secondary, убираем shardsvr, поднимаемся, ждём синк, делаем его праймари, и то же самое потом с другими серверами или я гоню?
yopp
Ещё надо учитывать от это https://docs.mongodb.com/manual/reference/limits/#Sharding-Existing-Collection-Data-Size
yopp
Но это проверяется за полчаса
Petro
Можно ли в агрегатке убрать поле если это поле пустой объект
yopp
Т.е. если задача стоит как сделать это всё без даунтайма, то в общем виде она не решается
Max
только бекап и восстановление. понял.
Kirill
Ребят, хелп пжлст) Мне нужно по id из request взять данные completed, поменять и вернуть. Я использую TypeOrm с mongo. На стаке нашёл такое решение "new mongodb.ObjectId(req.params.id);".
Kirill
В итоге на выходе в консоли получаю id, которого вообще нет в базе, а todo = undefined
Kirill
ObjectId я делаю потому что без него выдаётся ошибка Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
Kirill
Вопрос, как правильно мне указать req.params.id=)
Nick
тебе в чат по ноде
Kirill
продублирую туда
Petro
Может кто знает, можно ли оптимизировать агрегатку нужно сделать 4 lookup и только после этого match, так вот, 14 секунд делается 4 lookup 9000 документов
Petro
хотел оптимизировать но увы.... на heroku постоянно connection timeout to mongodb вылазит(
yopp
проверить что есть индексы по foreignField
yopp
во from
yopp
вобщем-то на этом всё
Petro
спасибо
yopp
lookup это по сути query в соседнюю коллекцию
RgHome
Всем привет! Запросили у клиента базу, выслали архив с вот такой фигней: http://prntscr.com/ial39y Подскажите, пожалуйста, что с этим делать? Подозреваю, что это сам сторедж монги, но как его грамотно заимпортить – понятия не имею.
Max
Грамотно заимпортить его нельзя - вам неграмотно прислали данные. Если хотите развлечений - запустите у себя монгу. Пустую. Потушите ее, подсуньте вместо своих данных вот эти. Запустите. Читайте логи, почему не поднялась. Правьте конфиг монги. Повторите:) Ну а по-нормальному просите нормальный экспорт через mongodump или хотя бы их конфиг и версию монги.
Max
Это поможет подняться на сырых данных, но это изврат и так делать не надо
Zloy-Dobry
Попробу на пустой бд mongorestore -db target_db ./dump_dir
Zloy-Dobry
Если дамп сонимали монгодампом, можете подпортить
Zloy-Dobry
А вообще похоже, что не снимали, просто скинули содержимое диры db с сервера
Zloy-Dobry
Попросите что б через mongodump сняли бекап вам
Max
А вот так ненадо делать.
я об этом и сказал однако у людей бывают разные ситуации. иногда быстрее попытаться поднять то, что есть (особенно если там тестовые данные), чем неделю ждать, пока монгодампом пришлют но, что надо.
Zloy-Dobry
Наверное если настройки и версия монги будут одинаковые, возможно оно запустится...
Max
Да, возможно. Но в общем так экспортировать данные не надо, мягко говоря
Zloy-Dobry
Ну, так, в принципе, можно сделать, что бы снять дамп
Zloy-Dobry
Если на том конце не осилили утилиты
Norikoff
Ребят, можно в mongoDB сохранять bpmn диаграммы?
A$h
Кто может подсказать: при настройке кластера из 3-х нод на 2-х (master+slave) - mongo | wait mongo replica set initialization, ещё на одном slave - mongo | wait config sync on secondary nodes. Криво заданная репликация, как я полагаю?
A$h
Видимо да, на всех трёх нодах - is_primary True
yopp
Проверить надо что монги между собой общаться могут
SvPupok
коллеги добрый вечер. есть вопрос, если в файле параметров mongod не задан net.maxIncomingConnections, чем ограничивается число входящих соединений к БД?
Serhio
ОС
Serhio
Либо драйвер вашего ЯП
SvPupok
спасиб, нашел проблему, в service файле.
A$h
Проверить надо что монги между собой общаться могут
Благодарю тебя зело, добрый человек.
Anton.
Всем привет. Заинтересовался MongoDb в последнее время, кто-нибудь может дать парочку ссылчек для изучения? Заранее спасибо)
yopp
https://docs.mongodb.com/manual/tutorial/getting-started/
SvPupok
коллеги, подскажите, какова причина ошибки в монгосе, [NetworkInterfaceASIO-TaskExecutorPool-3-0] Failed to connect to ppoz-db-request-28.prod.egrn:27010 - NetworkInterfaceExceededTimeLimit: Operation timed out, request was RemoteCommand 1000454 — target:ppoz-db-request-28.prod.egrn:27010 db:admin cmd:{ isMaster: 1 }
SvPupok
такое впечатление что при обращении к кластеру бд переодически не может найти мастеров шард
Nick
egrn тот самый ЕГРН?
SvPupok
пока не тот)
yopp
Файрволл
yopp
Или днс
yopp
Если ни то и ни другое, то надо смотреть что там с сетью очень внимательно.
Petro
Как в агрегатке превратить objectId поле в string, нужно для concat
yopp
Никак
yopp
Type casting не завезли всё ещё
yopp
https://jira.mongodb.org/plugins/servlet/mobile#issue/SERVER-24947