Pavel
И еще, все ноды равнозначны?
Slava
Есть возможность для разных запросов задавать разные условия?
да, можно, вот тут есть пример https://docs.mongodb.com/manual/core/replica-set-write-concern/
Pavel
А по второму вопросу есть ответ? спрашиваю, потому, что все говорят, что если нужно брать что-то с упором на много нод, нужно браять непременно Cassandra (бээ, работал с ней имхо если не продумать модель данных до мелочей любое изменени превращается в ад)
Nick
а зачем вам много нод? в плане какую пробелму решаете увеличение их количества
Pavel
а зачем вам много нод? в плане какую пробелму решаете увеличение их количества
вы таки, любитель отвечать вопросом на вопрос? Распределение нагрузки, надежный сохран данных, зачем еще нужно много нод
Pavel
отказоустойчивость
Nick
я не тролю это действительно важно, а то может вы не правильный путь выбираете относительно монги
Nick
собственно распределние какой нагрузки вам надо? у вас мало данных но очень много чтений, или много данные и среднее чтение/запись
Nick
или какой профиль
Pavel
Да выбор то не богат, сама идея noSQL мне близка. Выбор ило монга либо кассандра, концепция документов мне как-то ближе. Таблицы, ну это бре, по сути тоже самое только с надумаными ограничение
Nick
много записи - это шардирвоание
Nick
каждый шард уже отдельно реплицируется для получения отказоустойчиваости
Nick
собственно считай та же касандра фактически
Pavel
а собственно, есть минус у монги по сравнению с кассандрой в этом плане
Nick
а напомните в кассандре ноды равноправны? а чтото поймал себя на мысли что забыл
Pavel
кассандра при работе по схеме N/2 + 1 на запись ,и чтение N/2 гарантирует, что данные актуальны
Nick
да в монге сильно по другому
Pavel
Насколько я понял, выбирается масте, а дальше она пишет на слейвы
Pavel
ну верней по цепочке
Nick
да
Pavel
не понятно, что будет если мастер упадет. в кассандре нечего страшного
Nick
есть такое понятие как реплика сет, он состоит из одного мастера и остальные слейвы
Nick
пишем толкьо в мастер, и либо отвечаем сразу, либо дожидаемся что данные улетели на реплику, это по ссылкам выше write concern
Pavel
это я понял, так и на писал, по цепочке. Но падает мастер ,что дальше ?
Pavel
вообще именно в этом случае кассандра конечно клевая, жаль монга так не умеет
Nick
если у вас настроено все пессимистиечки, то один из слейвов станет масетром и работа продолжиться
Nick
без потери данных
Nick
если без всяких writeConcern и жруналирвоания, то при очень активной записи часть данных точно потеряется
Pavel
А для приложения это произойдет прозрачно?
Pavel
естественно, в кассандре если писать 1 сервер и он падает, данные теряются
Nick
вот тут сложно, по идее зависит от драйвера. но точно не скажу
Pavel
Pavel
похоже для записи нужно брать кассандру
Pavel
нет
Pavel
не хочу =(
Nick
а что такого критично в записи у вас что нет возможности например выдать пользователю ошибку или повторить еще раз запись в базу?
Pavel
а что такого критично в записи у вас что нет возможности например выдать пользователю ошибку или повторить еще раз запись в базу?
критичен доунтайм при падении, да и ошибку выдать не получится, нужно прерывать сессию те на все запросы нужны ответы. там работа с деньгами, народ нерный
Pavel
не в курсе, моного не планирует пойти по кассандра вей?
Nick
неа, не вкурсе
Pavel
Была бы лучша db в мире =)
Nick
а какие вообще проблемы с кассандрой, что ее не хочется брать?
Pavel
Pavel
хотя, вроде добили возможно сохранять json правно не знаю, что там в вложенными объектами
Sergey
Всем привет, есть те, кто работает с mongodb через nodejs?
Pavel
Дальше выборы и новый мастер
но как я понял это с даунтаймом
yopp
Да, но он будет в масштабе нескольких секунд, необходимых на выборы и повторное подключение всех клиентов
yopp
Автоматически
pinelover
подскажите пожалуйста, использовал кто-нибудь mongo-connector для elasticsearch, есть ли какие подводные камни? смотрю коннектор больше не поддерживается официально MongoDB
SvPupok
В принципе никаких подводных камней
Данил
Добрый день. Подскажите когда я выполняю скрипт js в монгодб, где он выполняется, на стороне сервера или клиента монги? В скрипте у меня выборка из бд и далее цикл который творит всякие манипуляции с данными и в конце отдаёт пользователю данные.
Данил
хотя смотря как ты этот скрипт написал
В том то и дело что писал не я. Там сделан find(..).forEach И далее определена функция которая делает обработку
Данил
Это нода и модуль "mongodb"?
Не уверен что понимаю вопрос. Запуск производится с использованием самописного клиента через официальный драйвер к mongodb
Yurii
Не уверен что понимаю вопрос. Запуск производится с использованием самописного клиента через официальный драйвер к mongodb
http://mongodb.github.io/node-mongodb-native/3.0/api/Cursor.html#forEach Если этот драйвер - то как видишь должно обрабатываться на стороне монги, так как там курсор
Данил
http://mongodb.github.io/node-mongodb-native/3.0/api/Cursor.html#forEach Если этот драйвер - то как видишь должно обрабатываться на стороне монги, так как там курсор
Но я же только средствами драйвера отправляю js скрипт. Я же не произвожу манипуляций средствами языка.
Данил
так ты возмущаешься, что оно в монге, а не у тебя?) shell монги умеет JS)
Как раз наоборот, складывается ощущение что выполняется на клиенте. В случае если через shell выполняется тогда выполняется на клиенте?
yopp
Как раз наоборот, складывается ощущение что выполняется на клиенте. В случае если через shell выполняется тогда выполняется на клиенте?
Если вы не используете механизмы для исполнения JS на сервере в виде map/reduce или $where, то JS выполняется на клиенте. https://docs.mongodb.com/manual/core/server-side-javascript/ mongo-shell это тоже клиент
yopp
https://twitter.com/MBeugnet/status/1004423166683381767
yopp
В десять раз дешевле. Интересно
SvPupok
прикольно. но это только при использовании atlas-а. Не все будут имет позможность упарываться в облачное хранение. Или я не прав?
yopp
Не знаю, но скорее всего ты прав :)
SvPupok
мне кажется, это общая тенденция, размахивать заманухами в свои облачные сервисы. Oracle похожую стратегию проводит со своей database 18c
yopp
Зависит от latency и bandwidth твоего канала и оборудования которое у тебя ‘локальное’
yopp
Облака это opex, своё железо это capex
yopp
Никто не хочет в capex, все хотят в opex
yopp
кто как же
CapEx в среднем ОЧЕНЬ ДОРОГО 😉
Aleksey
CapEx в среднем ОЧЕНЬ ДОРОГО 😉
мы хотели в капех. и не хотели в опех
Aleksey
я не оч знаю зачем так. но мы были isp