Nick
неважно кто вылетает, если осталось (N+1)/2 живых нод то все работает, если меньше - кластер останавливается
ASPIRIN
т.е. они между собой решат кто будет мастером?
Nick
да
ASPIRIN
а арбитр только ускоряет решение?
Nick
нет, он нужен для кворума
ASPIRIN
т.е. я могу обеспечить кворум без него?
Nick
да, любое нечетное число нод с данными
ASPIRIN
но при этом они будут сами решать кто мастер на каждом запросе или они опрашивают друг друга?
ASPIRIN
спасибо, за ответы
ASPIRIN
а что по поводу читать со слейвов, я так понимаю в стандратной настройки читать с них нельзя?
ASPIRIN
например если у меня много операций чтения и я хочу их размазать по серверам
Sebor▂▅▇█▓▒░
Sebor▂▅▇█▓▒░
ASPIRIN
Petro
Может кто подсказать, для чего нужны views? Улучшают ли они производительность. Как вообще работают views? Если я делаю lookup с view он запускает view pipeline?
yopp
yopp
Но эта практика не рекомендуется авторами монги, они предлагают масштабировать через шардирование
yopp
Есть несколько исключений из этой рекомендации
Alex
А вот про эти исключение можно где-то подробнее прочитать?
Meowbe/BSD-2-Clause
Приветствую, господа хорошие, и сразу вопрос: вставляется 200к документов, монга откусывает 2 гига оперативки. После перезапуска и вставки ещё ~10к откусывает теперь 1.3 гига. Вопрос: куда ухожит оперативка и чем ограничивать её потребление проще всего?
Vitaly
Vitaly
Meowbe/BSD-2-Clause
storage.wiredTiger.engineConfig.cacheSizeGB видимо
Meowbe/BSD-2-Clause
попробую сделать его меньше
Max
Вообще это лучше не делать
монга с памятью знает, как работать.
Эту крутилку надо крутить или в случае, если монга в контейнере и не вся видимая память доступна, или же ее и правда надо придушить, чтобы не мешала другим сервисам.
Meowbe/BSD-2-Clause
Написано что берёт половину - 1 гиг памяти
Meowbe/BSD-2-Clause
И да, душит
Meowbe/BSD-2-Clause
Meowbe/BSD-2-Clause
Выставил в 0.5 и кажется больше чем 500мб не растёт
Meowbe/BSD-2-Clause
Спасибо!
Vitaly
👍
Peter
Всем привет! Кто-нибудь знает как реализовать фичу "прочитано"/"не прочитано" для новости, как это должно выглядеть на сервере?
White2Demon
ты новость в каком виде хранишь?
White2Demon
я реализовывал через boolean столбец в бд
yopp
Ilya
я так понимаю тут для каждого пользователя надо сделать просмотренна или нет
Peter
да, для каждого пользователя.
Peter
вот я не могу поняьт как правильно организовать
yopp
Какое количество новостей и какое количество пользователей?
yopp
Какой ежемесячный прирост?
Nick
если для каждого пользователя, то это ойкак не тривиально будет
Nick
правда если пользователей не 10 штук)))
Peter
как вы думаете, допустимо ли хранить информацию о прочитанных/не прочитанных новостях на клиенте, в кеше или в памяти устройства?
Peter
Vitaly
Peter
главное что-бы инфа после перезапуска приложения оставалась
Vitaly
ну если кешировать в сторадже клиента, то, наверное, можно
Denis
Всем привет! Подскажите пожалуйста ответ на такой вопрос. У меня есть монга в реплика-сет. Можно как нибудь конектится к этой реплике на прямую?
Denis
у меня проблема, что после сбоя, меняется мастер в кластере, а сервис конектится к слейву и не может туда записать данные
Denis
Помогает только в ручную указание мастера через консоль
ㅤㅤㅤㅤㅤ
how to make replication in mongodb?
Slava
Slava
Если у вас реплика сет, то необходимо указывать все ноды
Slava
Slava
Denis
Понял спасибо.Будем думать!
Nikolas
а монгос на что? если через него пускать не правильней?
Sebor▂▅▇█▓▒░
Так он же вроде только для шаренного кластера?
ㅤㅤㅤㅤㅤ
Evgeny
Здарова парни!
Подскажите, пожалуйста, можно ли в монге построить запрос так, что бы результаты были отсортированы по предустановленному списку. Типа так: В БД есть apple, pear, orange. Я хочу чтобы в ответе мне пришли сначала все pear, потом все apple, и потом все orange. Здесь обычный .sort({type: 1}) не подойдет. А по другому я не оч умею.
И еще связанный с этим вопрос. Хочу что бы мне в ответе пришли все pear, но если ни одного pear не найдено, то тогда все apple, а если и их не найдено, то тогда все orange. Здесь я вижу решение - со стороны ноды проверять результат, и посылать следующий запрос, если предыдущий ничего не вернул. А можно ли сделать это одним запросом?
Ruslan
Это все разные коллекции?
Yurii
Здарова парни!
Подскажите, пожалуйста, можно ли в монге построить запрос так, что бы результаты были отсортированы по предустановленному списку. Типа так: В БД есть apple, pear, orange. Я хочу чтобы в ответе мне пришли сначала все pear, потом все apple, и потом все orange. Здесь обычный .sort({type: 1}) не подойдет. А по другому я не оч умею.
И еще связанный с этим вопрос. Хочу что бы мне в ответе пришли все pear, но если ни одного pear не найдено, то тогда все apple, а если и их не найдено, то тогда все orange. Здесь я вижу решение - со стороны ноды проверять результат, и посылать следующий запрос, если предыдущий ничего не вернул. А можно ли сделать это одним запросом?
aggregation framework + facet (https://docs.mongodb.com/manual/reference/operator/aggregation/facet/) и сразу сделать паралельно необходымие расчёты, а потом с на этапе project отсеять ненужные.
Но это сложный путь. 1 запрос, но кучу гемора. Проще действительно разрулить все на уровне ноды и нескольких запросов…
Evgeny
Evgeny
Это все разные коллекции?
Это одна коллекция fruits, допустим. с документами типа {type: 'apple', someParam: 1, ... }
Ruslan
А чем тебя не устраивает сортировка по типу?
Evgeny
если именно .sort({type: 1}), то будет не правильный порядок
Evgeny
Мне нужен свой, заранее определенный: pear, apple, orange
Ruslan
А, ну да, только $facet
Evgeny
Буду на уровне ноды решать. Спасибо за ответы)
Roman
Подскажите логи хранить в монге это нормально?
Nick
хранить - да, обрабатывать - нет
Nick
ну и опять же если вы сначала логи приводите к определнному виду, по которому уже можно построить вменяемые запросы, которые вы уже все определили, то почему бы и нет. но про фултекст забудьте
yopp
Я ещё раз задам вопрос: о каком объёме новостей и каком количестве пользователей идёт речь? Не обязательно точные цифры, порядка будет достаточно
V