Igor
и в огранизационном
Nick
работая с неквалицировнным персоналом бекапов не напасешься
Igor
квалифицированный тоже может ошибаться
Igor
кто не работает - тот не ошибается
Nick
так то да, вообщем по бекапам ничего не посоветую. но наверняка с одним инстансом толкьо через остановку
Nick
ну или обычный дамп
Igor
ну я пока на обычный дамп смотрю
Igor
его же можно онлайн делать, ведь?
Anonymous
Я не понимаю, этот чатик используют когда лень документацию читать что ли?
Anonymous
Не надо так
Мечтатель
А кто-нибудь юзал джоины в монге? Как быстро они работают?
Stepan
джоин ?
Stepan
всмысле $lookup ?
Мечтатель
джоин ?
помню в доке читал что она вроде джоины научилась делать
Stepan
https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/
Stepan
Работате вроде быстро
Мечтатель
https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/
аааа, вот оно что.... аналог лефтджоина.... спасибо
Stepan
Но как я понимаю, использовать надо крайне редко. Хотя бы потому что, если надо много "джоинов", то скорее всего вы не правильно используете монгу
Игорь
а вы тестирвоали?
да, то есть согласно докам для каждого поля в коллеции может быть определен язык. То есть документ может быть мультиязычный, а вот отдельное поле нет
Nick
да, то есть согласно докам для каждого поля в коллеции может быть определен язык. То есть документ может быть мультиязычный, а вот отдельное поле нет
если я правильно понял, то например есть { "v1" : "word", "v2" : "тест" } и нужно вытаскиват ькак по "word" так и по "тест"?
Nick
при это неизвестно какое конкретно это поле
Игорь
а в другом
Игорь
{ "v1" : "текст", "v2" : "word" }
Nick
ок
Igor
От размеров зависит
А вот если размеры на сотни гигабайт, например, то чем лучше.
yopp
От требований к бекапам зависит ;)
yopp
Обычно всё упирается в то, сколько денег на это готовы дать
yopp
Сотни гигабайт, например, ежечасно это один порядок. Ежесуточно уже другой
yopp
Нужно понимать какую роль выполняют бекапы, что нужно бекапить очень часто, что можно бекапить реже, что вообще не надо бекапить.
yopp
Резервное копирование ОЧЕНЬ дорогое удовольствие.
Igor
Ну вот допустим ежесуточно 500 гигов
yopp
Сколько хранится бекап?
Nick
тогда db.tst.createIndex({ v1: "text", v2: "text" }); // db.tst.insertMany([{ "v1" : "word", "v2" : "тест" },{ "v1" : "word", "v2" : "тест2" },{ "v1" : "word2", "v2" : "тест" },{ "v1" : "тест", "v2" : "word" }]); и дальше по русскому слову db.getCollection('tst').find({ $text:{$search:"тест"} }) по англицкому db.getCollection('tst').find({ $text:{$search:"word"} }) два одновременно db.getCollection('tst').find({ $text:{$search:"\"тест2\" \"word\""} })
Igor
с таким объёмом mongodump справится при быстрых дисках?)
Igor
а чем тогда большие объемы бэкапить?
yopp
с таким объёмом mongodump справится при быстрых дисках?)
И не в mongodump дело, а в том, что mongodump по сути просто делает find({}) на всех коллекциях. Для этого монге их надо так или иначе сложить в память
Igor
ах, вот оно что....
yopp
14 дней по 500 гигов это уже 7Тб
Igor
верно
Igor
А чем бэкапить тогда?)
yopp
С фактором репликации хотяб 3, это уже 21Тб
yopp
А чем бэкапить тогда?)
Я же говорю, вопрос стоит в корне не верно
Igor
ну где диски на это брать - проблема заказчика )
yopp
Нет, это не проблема заказчика, это проблема архитектора решения
Igor
Согласен
yopp
Не в дисках дело, а в надёжности резервного копирования
Igor
В данном случае - архитектор решения захотел бэкапы )
yopp
Архитектору решения надо разобраться что такое «бекапы», я же говорю
yopp
Самый простой способ это сделать — через стоимость данных. Например через ущерб от их недоступности (в долларах в минуту) и полной потери
yopp
Не бывает так, что все 500 гигов убер критически важны
yopp
В большинстве случаев критически важных данных там от силы 10%
Igor
В данном случае в монге хранятся документы, и они важны.
Igor
а их будет в итоге очень много
yopp
А. Будет :)
yopp
А сколько есть?
yopp
И когда будет?
Igor
пока в тестовой эксплуатации
Igor
можно сказать сейчас почти нет
Igor
а после запуска в течении года заказчик расчитывает на 500 гигов
yopp
надо составить три модели роста размера данных (оптимизм, пессемизм и реализм), после чего планировать решение исходя из этих цифр. Вкладывать денег в бекап 500 гигов, при наличии 5 расточительство :)
yopp
Потому что цена бекапа 5 гигов и 500 будет отличаться даже не на два порядка
Igor
Спасибо за ответы про mongodump.
Igor
У заказчика есть системы бэкапа в т.ч. на ленты
Igor
в общем насколько я понял, заказчика не волнует как эта служба будет по 500 гигов ежедневно бэкапить 2 недели )
Igor
и сколько это будет стоить
yopp
Не бывает так, чтоб не волновало сколько это будет стоить
Igor
Да я согласен, но этими вопросами не я занимаюсь
yopp
На деле у вас выбор не такой большой: 1) mongodump 2) бекап фс
Igor
я ещё прочитал в доке про снапшоты fs, lvm...
yopp
С п.2 у вас есть какой-то выбор ещё, например снепшоты
Igor
пойду детали про снапшоты почитаю...
Igor
спасибо
Игорь
то, что нужно