yopp
Арбитры не добавляют устойчивости кластеру
V
Арбитры не добавляют устойчивости кластеру
как это не добавляют если мы вот с Nick выяснили что добавляют ну и ладно что у них нет данных
V
речь именно о leader election а не о том что есть данные или нет данных
V
если речь о leader election то тогда разве не добавляет устойчисовти ?
yopp
арбитры решают очень узкую проблему которая возникает из архитектурного решения проблемы с brain split — монга просто не выбирает праймари
yopp
отсутсвтие праймари в кластере это не фатальный отказ
yopp
потому что данные доступны и сохранны
yopp
если ничего не поменялось, то secondaryPreffered и мы продолжаем обслуживать клиентов на чтение
yopp
от добавления или удаления арбитров в кластере не изменяются доступные ресурсы, а как следствие арбитры на данные никакого влияния не имеют. tl;dr: арбитры это про HA, а не про FT.
V
ну ладно в общем понял что arbiter не нужен
V
и все эти cluster auto-deploy часто идут всегда с арбитром а оказывается зря
yopp
что за FT ?
Fault tolerance
yopp
Добавляя арбитра мы добавляем к девяткам доступности
yopp
А не к девяткам сохранности
Nick
а естб смысл делать оговорочку на majority r/w ?
yopp
а естб смысл делать оговорочку на majority r/w ?
Не понимаю о чем ты, значит имеет
AstraSerg
> tl;dr: арбитры это про HA, а не про FT. Это логично. Не понятно почему в уроке монговцы говорят не так, а говорят, что арбитры вообще не нужны...
Nick
что все эти разговоры имеют сымсл если используется majority, а если не испольузется то можно вообще забивать на все эти тонкости
yopp
Они не говорят что они не нужны, они говорят что надо отдавать предпочтение нодам с данными
yopp
У арбитра нет оплога и с появлением механизмов поддержания целостности на счетчиках, арбитры вообще оказываются не у дел
yopp
А, понял про majority read/write кажется )
AstraSerg
Да и в вопросе в тесте не нашел
V
ну по правде один случай был
V
avoid arbiters!
Алишер Абдуллаев
ребята , как стирать данные после окончание определенного времени ?
Алишер Абдуллаев
нужно стирать значение amount: 500 -> 0
AstraSerg
нужно стирать значение amount: 500 -> 0
Использовать set? https://docs.mongodb.com/manual/reference/operator/update/set/
Алишер Абдуллаев
Использовать set? https://docs.mongodb.com/manual/reference/operator/update/set/
получается , я должен вызывать при окончании тайма функцию set. А нету ли функция которая автоматически это делает, т.е. записать прямо в бд: после определенного времени присвой ему 0
Serhii
Есть возможность как-то затротлить mongodb?
Serhii
чтобы response с инстанса чуть дольше отдавал ответ?
AstraSerg
чтобы response с инстанса чуть дольше отдавал ответ?
можно попробовать нагрузить агрегейшенами
Serhii
Нет. Зачем вам?
я уже писал на счет проблемы, в какой-то момент вываливается connection timeout на проде, причем тайм аут на минуту-две и за этот промежуток, в rollbar service, наваливает по 100к ошибок таймаута, пытаюсь спровоцировать этот тайм аут, но пока не выходит
Serhii
Нет. Зачем вам?
причем, возможно, ошибка вываливается, когда запускаются regression тесты в CI, но это не факт
Serhii
это же легко проверить, запустив тесты
локально никакого результата
Serhii
это же легко проверить, запустив тесты
а на проде, ну можно даже утверждать что тесты провоцируют тайм аут, но вот тут то и возникает вопрос, почему и зачем
Nick
вот отилчно, вы нашли проблему. теперь надо просто убрать тесты с прода
Serhii
вот отилчно, вы нашли проблему. теперь надо просто убрать тесты с прода
так себе решение) тесты выполняют обычное юзер флоу, каким образом они провоцируют тайм аут?
Nick
видимо тем что они выполняют его не как юзер
Nick
что из себя представляют ваши тесты?
Serhii
видимо тем что они выполняют его не как юзер
это ui тесты(с помощью pupeteer), открывается chromium, и в нем начинается выполнение юзер флоу
Bubble jungle ✙
Я выучил mysql и понял монгу, может кто-то объяснить ламеру когда уместнее использовать монгу, нежели mysql? Может статьи какие-то? (Да, я не нашёл в гугле чёткого ответа)
Nick
если вы познали их, то в чем проблема понять подходит оно вам под задачу или нет?
Bubble jungle ✙
В том что в моих проектах и то и то подходит одинаково
Nick
значит брать то что проще для вас
Bubble jungle ✙
Логично, я бы хотел увидить пример когда монга полезнее mysql или наоборот
Nick
Логично, я бы хотел увидить пример когда монга полезнее mysql или наоборот
набросайте прототип, чтобы понять как будет проще. имхо, если планируется не очень много данных и их рост не большой, то особой разницы нет. Если рост данных большой и планируется вылезти за условный терабайт, то лучше сразу смотреть в сторону монги. Если же данных не густо, они жестко структурированы да еще и нужна будет аналитика, то тут само собой mysql в плюсе, хотя монга уже наступает на пятки
yopp
он на AWS висит, доступа нету)
у вас в контрольной панели есть графики
yopp
плюс вы можете развернуть перконовский мониторинг
Serhii
у вас в контрольной панели есть графики
что такое перконовский мониторинг?
yopp
что такое перконовский мониторинг?
https://www.percona.com/software/database-tools/percona-monitoring-and-management
yopp
включите slow query
yopp
вероятно у вас где-то есть запрос который проезжает по большому объёму данных
yopp
но вообще, это очень плохая идея гонять тесты на продакшене
yopp
хотите верифицировать что-то на продуктивных данных, сделайте для этого тестовый срез
yopp
и подготовьте его, убрав оттуда всё что потенциально может попадать под gdpr
Serhii
включите slow query
что такое slow query? Да, блин порылся только что в логах роллбара, как оказалось, то из 1.5 ляма ошибок, только 50 раз ошибка спровоцировалась нашими юзерами, так что все-таки тесты как основной источник отпадает
Nor
Привет. В коллекции есть вложенные поля по которым нужно сортировать выборку. Но проблема что вложенные поля с числами воспринимаются как строки.
Nor
т.е 2 > 10
Nor
Есть мод $natural но как я понимаю, оно относится к полю _id
yopp
т.е 2 > 10
https://play.db-ai.co/m/XG7AhJ_RigABped4
Nor
https://play.db-ai.co/m/XG7AhJ_RigABped4
Благодарю за песочницу -)
yopp
1,2,10 и в обратном порядке 10,2,1
Nor
1,2,10 и в обратном порядке 10,2,1
Возможно проблема в том, что в базе эти значения хранятся как строки.
Nor
https://play.db-ai.co/m/XG7BSggjhgAB8iDZ/edit?key=Yz5456tji7k
yopp
строки иначе сортируются, да
yopp
если вам нужна числовая сортировка, то вам необходимо хранить числа как числа
yopp
$natural это не про алгоритм сортировки, а по поле сортировки
yopp
$natural использует внутренний id документа