CyberPunk2050
вливаете их в одну ноду и всё
была такая идея... работает?
yopp
рекомендую сразу купить поддержку
CyberPunk2050
пользуем стоковую MongoDB Community, я админ. Озадачился консистентными бэкапами шардированной монги. Есть утилита от Percona https://github.com/Percona-Lab/mongodb_consistent_backup. Она бэкапит шарды консистентно и архивирует каждый дамп шарда отдельно.
CyberPunk2050
Буду пробывать запихать дампы последовательно в монгу... спасибо
yopp
а, это
yopp
но 'mongodump' is the default (and currently only) backup method. Other methods coming soon!
CyberPunk2050
это не официальная ихняя утилита... поэтому поддерживается не очень(. Но Ops Manager отдельно не продаётся(
yopp
а у вас какой объём данных в шарде?
CyberPunk2050
боль, печаль
yopp
конечно не продаётся :)
CyberPunk2050
а у вас какой объём данных в шарде?
немного, в количестве документов не скажу, не под рукой. но по объёму 3 шарда по 10-13 Гб под БД занятого пространства.
yopp
а, ну тогда наслаждайтесь пока это работает :)
yopp
13 гигов не очень долго дампятся
CyberPunk2050
будет больше, будет Enterprise я думаю)
yopp
вероятно первое время дешевле будет mongo cloud backup
yopp
но я не знаю, умеют ли они шарды нормально бэкапить
yopp
энтерпрайз на 3 шарда это минмум 12 лицензий. это уже 78 тыщ в год
yopp
да
yopp
6500$ в месяц при стоимости бэкапов 2.5$/Gb/mo будет выгоднее как минимум до 2.6Тб
yopp
учитывая что для ops manager всё равно нужна будет инфраструктура, пологаю цифру можно на 1.5 умножить
yopp
раньше кстати умело
yopp
For sharded clusters, the backup agent pauses the balancer every six hours and inserts a token across all shards and config servers. MMS is always watching for those tokens. When MMS sees the token, it knows that it’s time to cut a consistent snapshot of the sharded system. The oplogs are applied to all replica sets in the cluster until the point in which the token was inserted, providing a consistent snapshot across the cluster.
yopp
вон, для одного проекта эстимейт очень даже неплохой MONTHLY TOTAL* $2,801
CyberPunk2050
будем знать. спасибо!
Bro
появилась такая проблема, использую реплика сет (1+1), база данных >2Tb. Есть 3 (микро)сервиса на одном апдейты точены на других 2х чтение в основном. И как подключаешь 3ий в работу так скорость запросов к монге падает (аггрегации нет). Какие есть варианты для разгона?
Bro
шардинг может попробовать?
yopp
вероятно горячие данные перестают влазить в память и начинается cache trashing
Bro
при коннекте поставил опцию чтобы чтение SecondaryPrefered
yopp
начините с выявления куда монга уперлась, в какие ресурсы
yopp
шардинг сильно тяжелее обслуживать чем реплику, так что пока есть возможность расти репликой, я бы рос репликой
yopp
но если данные быстро растут, то в шардинг лучше входить сейчас
yopp
потому что на маленьком объёме исправить ошибки при выборе ключа будет проще
Bro
растут да
Bro
около 1000 запросов в сек на запись и 400 на чтение пишет
yopp
ну тогда пересматривайте свой бюджет на содержание монги)
Bro
да там не много
Bro
большая часть бюджета в серверах с GPU
yopp
в вашем случае шардинг это сразу в два раза больше железа
yopp
а скорее даже в три
Bro
вообщем наверное попробуем докинуть памяти до 512Gb
Bro
на каждую коробку
yopp
потом будет очень больно шардировать
Bro
да там данные такие
Bro
я сторонник концепции mongodb as near perfect "middle storage"
Bro
собрать данные "как есть" потом там другие процессы уже разбираются с тем что туда приходит и сохраняют в реляционку
yopp
с шардингом у вас будет кучу других фич
yopp
и проблем)
yopp
например с шардингом очень легко сделать multi-tier хранилища
yopp
берём стойку набитую винтами и получаем архив
yopp
который можно жевать, что самое главное
yopp
не очень быстро, но можно
yopp
с зонированием очень много всего можно сделать
yopp
я не очень разделяю концепцию когда начинают накручивать хранилища
Bro
использовать разные бд?
yopp
да
yopp
понятно что есть разные задачи
yopp
но очень часто хранилища плодят без необходимости
Bro
ну просто с постгресом другие люди работают уже ) им по объективным причинам удобнее с реляционной БД дело иметь.
Bro
мне наоборот удобнее с json хранилищем
Bro
из-за задачи
Bro
причем намного удобнее
Bro
я еще и редис юзаю 😄
Bro
по мне так если твоя задача плохо ложится на реляционку то можно взять монгу и наоборот если для задачи подходит реляционная бд - взять ее.
Bro
проблема в том, что когда сырые данные приходят (с сенсоров то-се) часто непонятно как их раскидать в 3NF форму в реляционной бд это надо несколько таблиц, какие нибудь сложные операции апдейта данных по нескольким таблицам. в монге проще с этим - записал все в один документ и все.
yopp
да, подход «запишем и потом разберёмся» является как сильной, так и слабой стороной документных хранилищ
yopp
табличные хранилища переоценены
yopp
так-же как поддержка целостности связей
Sergey️
Редис в каждый дом))
yopp
редис всё-же не очень далеко ушел от мемкеша
yopp
это конечно хорошое key/value хранилище, но монга сильно мощнее
yopp
и её точно так-же можно использовать как k/v хранилище
yopp
да
Sergey️
Скорости
yopp
монга и есть key/value хранилище на стероидах
yopp
скорости чего? монга из кеша будет стрелять не сильно медленее редиса :)
Andrew
монга и есть key/value хранилище на стероидах
Можно данные таблиц в оператие хранить разве?
Andrew
в монге
yopp
в enterprise есть in-memory