
Виктор
14.08.2018
07:02:41
Поступила интересная фраза, не используйте монгу, где не надо, тогда где её использовать?

AstraSerg
14.08.2018
07:04:28

Виктор
14.08.2018
07:04:38
Понятно дело, я могу сделать информационную базу и на постгрес, но концепция хранения вложенных документов мне больше подходит, хотя постгрес уже научился делать так же

AstraSerg
14.08.2018
07:04:54

Google

Виктор
14.08.2018
07:05:51
Тоесть не так, когда я пойму, что пора инфу раскидать на разные жёсткие диски? Когда начнет тормозить? Или когда 3 тера начнут к концу подходить, понятно что тормозить и без базы начнет, если весь жёсткий занять, но что случится раньше?
тут всегда так
Не разу не встречал в программировании, ответ на какой-то вопрос: "Не юзайте", он встречается там, где лень отвечать

Yaroslav
14.08.2018
07:12:04

Виктор
14.08.2018
07:12:58

AstraSerg
14.08.2018
07:16:44

Виктор
14.08.2018
07:21:42

AstraSerg
14.08.2018
07:24:56

Nick
14.08.2018
08:56:53

Виктор
14.08.2018
08:57:18

Gleb
14.08.2018
08:58:12
а как на счет вообще советов по шардированию ну вроде того что мол ПОДУМОЙ. потом поздно будет. взад уже не расшардируешь ?

Nick
14.08.2018
08:58:21
так же не стоит думать, что как только вы все расшардили, то все проблемы исчезли - доабвление серваков в кластер и ребаланс даных - это пиздец как медленное дество

Google

Nick
14.08.2018
08:59:13

Gleb
14.08.2018
08:59:39

Nick
14.08.2018
09:00:58
не исключаю, но для работы с базой больше 100Гб нужен какой никакой опыт, так что либо нанимайте специалистов, которые уже "умные" либо готовьтесь к пиздецу

Gleb
14.08.2018
09:01:52
я рад что есть люди которые это понимают

Nick
14.08.2018
09:02:11
жаль не все)

Khramov
14.08.2018
09:42:29
А можно как-то добавить в кластер новую ноду, но не подтягивать на ней данные из кластера, а оставить свои.
А потом в кластере подтянуть данные этой самой ноды?

AstraSerg
14.08.2018
09:46:57
вообще, через дамп/рестор легко можно смёрджить данные

Khramov
14.08.2018
09:47:32
Но рестор данных заниет больше суток, и нужно будет как-то досинкивать данные

yopp
14.08.2018
10:09:45


Виктор
14.08.2018
10:24:50


yopp
14.08.2018
10:25:27
Если у вас ещё нет продукта с клиентами, то эти три пункта не для вас :)
Если вы только начинаете разрабатывать продукт, но не имеете опыта с монгой, не берите монгу. Берите ту БД, с которой у вас есть опыт, чтоб максимально быстро проверить гипотезы вашего продукта.
Не думайте о масштабировании, не думайте об оптимизации
Вы не угадаете где вас будут ждать проблемы, так что решать проблемы, которых ещё нет — неэффективно.
Примите что вы однозначно ошибётесь и начните итеративно внедрять средства быстрой доставки, анализа производительности, монитринга. С помощью которых вы будете находить проблемы и быстро доставлять их решения.
Ключевое слово «итеративно». Не делайте всё сразу.

Виктор
14.08.2018
10:37:17
Понял, спасибо

Vasiliy
14.08.2018
10:41:23
Всем привет. Кто знает, есть ли возможность сделать .watch на standalone монгодб?

yopp
14.08.2018
10:42:49

Google

yopp
14.08.2018
10:43:27
Один параметр — лучшее что вы можете получить

Виктор
14.08.2018
10:45:02

yopp
14.08.2018
10:45:24
user_id ко всем данным

Виктор
14.08.2018
10:47:36
user_id ко всем данным
Так уже работал в другой системе, не удобно. При каждом апгрейде базы дрожат руки, в надежде что ни у кого ничего не отваливатся

yopp
14.08.2018
10:51:11
Вы симптоматику собираетесь лечить. Если у вас дрожжат руки, то multu-tenancy это дрожжание не решит.
«Не удобно» это вообще убыточное мышление. Вы хотите на порядок увеличить стоимость разработки решения, снизить скорость, добавить огромную операционную сложность, просто потому что вам «не удобно»
Подойдите к проблеме аналитически. Чётко сформулируйте какой результат вы хотите получить. Сформулируйте критерии оценки, с баллами. Составьте список возможных решений, подкорректируйте критерии, оцените. И уже на основе анализа делайте выбор

Виктор
14.08.2018
10:55:21

yopp
14.08.2018
10:55:34
Вы зря начинаете защищаться

Vasiliy
14.08.2018
10:56:28

Виктор
14.08.2018
10:58:30
Вы зря начинаете защищаться
Ну смотрите, вы предлагаете пойти самым простым путем, а там если выстрелит, и появится проблема, тогда уже переписать все. Я согласен, если бежать изначально за идеалом, ничего и никогда не запустится. Я просто хочу лучше разобраться в технологии которую использую, узнать на что она способна, потому что просто дописать user_id, это вечер с вином

yopp
14.08.2018
10:58:48
Вы сюда пришли за мнением. Моё мнение, основанное на практическом опыте, как своих продуктов, так и чужих — вы выбираете неэффективное решение своей проблемы.
«Стоимость не важна», «для себя пишу» случается от несформулированных целей. «Правильно» вообще не существует. Бывает градация эффективности решения
Хотите изучить монгу, сделайте user_id и разберитесь с шардингом

Виктор
14.08.2018
11:02:45

invzbl3
14.08.2018
12:32:37
ребят, кто-то может показать пример с проверкой на существование документа сразу с несколькими полями? Использую java driver. Написал таким образом:
https://ghostbin.com/paste/c8qrw
но может кто посоветует лучше подход или что почитать? Буду благодарен за наводку.

AstraSerg
14.08.2018
12:39:33

yopp
14.08.2018
12:40:05
Вам не обязательно заводить целый кластер, вы можете поднять реплику с одной нодой

Google

Vasiliy
14.08.2018
12:40:39

yopp
14.08.2018
12:40:56
Это уже не standalone.

Vasiliy
14.08.2018
12:41:04
По мануалу делал
https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/
Ну да, это уже реплика получается

invzbl3
14.08.2018
12:42:00

yopp
14.08.2018
12:42:43

Admin
ERROR: S client not available

invzbl3
14.08.2018
12:43:47

AstraSerg
14.08.2018
12:46:40

Undefined
14.08.2018
13:49:38
Добрый день. Знает кто причины, почему при добавлении новой записи по схеме mongoose появляется какое-то левое поле?

AstraSerg
14.08.2018
13:53:04

Undefined
14.08.2018
13:53:14
поле называется не _id случайно?
Как я понял, это количество редактирование (как мне ответили), но не знаю как его удалить, и вообще нужно ли оно, или оставить для put запросов

AstraSerg
14.08.2018
13:53:56
Нет, __v
Да это шутка :) Я не в курсе mongoose-а просто

Undefined
14.08.2018
13:54:08
Больше шансов , что люди ответят)
Спасибо за ответ :)

Nick
14.08.2018
14:13:14

Undefined
14.08.2018
14:13:47

Google

Nick
14.08.2018
14:14:14
поспешил http://mongoosejs.com/docs/guide.html#versionKey
всетаки версия самого дока, а не схемы

Артем
14.08.2018
14:46:48
Парни, а можно через батник индекс создать?
Ну т.е прописать соединение а потом выполнить команду создания индекса?

AstraSerg
14.08.2018
14:47:42

Артем
14.08.2018
14:48:08
Ну для выполнения команду создания индекса, нужно же законектиться
Можно это через батник сделать все?

Nick
14.08.2018
14:49:01
да можно, нужно просто передать монгошелу js скрипт с командами

AstraSerg
14.08.2018
14:49:16
зачем батник? что может быть проще:
db.createIndex({"key": 1})
?

Артем
14.08.2018
14:49:22
ОО можно небольшой пример?

Nick
14.08.2018
14:49:28
https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/

Артем
14.08.2018
14:49:38
Задача такая через Бат скрипт

Nick
14.08.2018
14:49:55
ничего не мешает это делать в батнике

Артем
14.08.2018
14:50:15
Спасибо

Nick
14.08.2018
14:50:46
в общем случае подготавливаете js скрипт, а в батнике уже его скармливаете монгошелу с параметрами подклчюения к бд

Артем
15.08.2018
04:37:38
Парни, если установлен mongoCompass, то можно через piweshell команды отправлять на удалённую бд?

m
15.08.2018
06:16:04
подскажите, по дефолту findOneAndUpdate , если ему передать не весь новый объект, а только небольшую его часть, только замененные поля, то он не удалит старые поля, если на них не пришёл апдейт? Сейчас я просто передаю ему обновленный экземпляр документа целиком, И работает нормально, не хотелось бы сломать

AstraSerg
15.08.2018
07:29:25
Вам для мониторинга или shell? Или вы про вызовы из приложения?