@MongoDBRussian

Страница 13 из 342
Serge
03.07.2016
11:03:10
Первый реальный проект в docker-е запускаю наконец-то

Правда это legacy, а не новый проект. Надо же как-то сервер обновить под ним:)

Но монга вполне завелась. Теперь осталось скопировать ей файлы базки под контейнер и можно сносить 2.4 с того хоста...

Официальный монговский образ для докера самый старый 2.6 только, кстати...

Google
Sergey
03.07.2016
11:07:07
База одна что ли? Без реплик?

Serge
03.07.2016
11:08:06
Ну там да, тупо с журналом

Там и редис-а было бы достаточно

Но с монгой удобней

James
06.07.2016
06:51:07
как арбитра заставить поменять местами мастер и слейв?

Sergey
06.07.2016
06:52:00
На мастере сделать rs.stepDown(). Причём тут арбитр?

yopp
08.07.2016
08:31:04
чота я пропустил!

превед!

кто-то уже с инкрементальными бекапами разобрался?

я видел пару попыток в правильном направлении

но они все чота умерли. У меня есть идея написать тупую писалку оплога, когда переодически цепляется как hidden member и тянет оплог к себе. а дальше сохраняй себе дифф с предыдущей пачкой

Serge
08.07.2016
09:04:58
А чем постоянный hidden member плохо?

Google
Serge
08.07.2016
09:05:09
Делай с него бэкапы сколько угодно

Можно его на cow fs посадить, тогда можно будет откатить куда угодно ...

yopp
09.07.2016
00:11:50
Делай с него бэкапы сколько угодно
Просто бекапы это всё понятно

Но когда у тебя кластер в террабайт особо не на бекапишься.

На zfs можно посадить, да. Но это надо zfs, а он не всегда и везде есть. В ZoL например недавно баг с попорченными снепшотами всплыл

btrfs страшно

А больше вариантов особо и нет.

Так что хочется на уровне приложения это делать

Serge
09.07.2016
09:59:01
Есть thin lvm или как его там.

Имхо cow сделать не проблема. В крайнем случае можно Солярис взять

Опять же, даже если бэкапить руками и дифать, если уж хочется, то все равно не вижу смысла эту реплику отключать и подключать. Пусть бежит себе и бэкапит.

Опять же на уровне приложения можно версионировать данные прямо в монге, тогда вопрос восстановления нужной версии ложится на пользователя. Т.е. делать cow прямо в монге.

Roman
09.07.2016
10:45:37
Кстати, в линуксе есть совершенно крутая штука: reflink

yopp
09.07.2016
11:26:21
Потом например на vmware при создании снепшота монга портит данные

На mmap ещё куда ни шло, а на WT нода требует полного ре-синка

ну тыж сам тут советуешь fs-level снепшоты :)

вот тебе пример, когда оно не рабоает от слова совершено

Serge
09.07.2016
12:14:41
мне кажется тут ключевое слово vmware

т.е. ты делаешь снапшот машины, а оно потом не может обратно? это как вообще?

Google
yopp
09.07.2016
12:15:50
есть старая инсталяция монги, которую очень давно развернули на vCenter

Serge
09.07.2016
12:15:58
ну кстати, это может быть, если в памяти что-то осталось, что со временем связано

yopp
09.07.2016
12:16:23
там полный набор, сетевой сторадж, автоматическая миграция и вот это всё

Serge
09.07.2016
12:16:31
есть старая инсталяция монги, которую очень давно развернули на vCenter
ну вот монгу как раз перенести не проблема от слова совсем

yopp
09.07.2016
12:16:45
куда ты её собрался переносить?

Serge
09.07.2016
12:16:56
ну если не нравится:)

yopp
09.07.2016
12:17:06
мне год потребовалось чтоб утвердить обновление с 2.4 до 3.0 :)

там всё по регламентам

Serge
09.07.2016
12:17:23
короче, на уровне приложения - это версионирование данных прямо в монге, имхо

yopp
09.07.2016
12:17:35
какое в жопу версионирование в монге

ты о чём

Serge
09.07.2016
12:17:47
на уровне приложения же

yopp
09.07.2016
12:18:09
это идиотизм

Serge
09.07.2016
12:18:12
решений 100500 и готовых и способов это сделать самостоятельно

yopp
09.07.2016
12:18:21
и это не решает задачу инкрементальных бекапов

Serge
09.07.2016
12:18:28
Так что хочется на уровне приложения это делать

yopp
09.07.2016
12:18:39
дай мне исходники приложения сначла

Serge
09.07.2016
12:18:53
тогда на уровне приложения никак

yopp
09.07.2016
12:18:54
и потом по регламенту утверди внесение таких изменений

Serge
09.07.2016
12:19:36
инкрементальные бэкапы - это проигрывание операций, не?

Google
Serge
09.07.2016
12:19:51
т.е.берем бэкап, а потом пишем весь лог после него

yopp
09.07.2016
12:20:11
ты понимаешь что не всё можно на уровне приложения бекапить?

например я посмотрю как ты забекапишь атомарный inc

Serge
09.07.2016
12:20:23
у тебя нет уровня приложения, успокойся

yopp
09.07.2016
12:20:28
я тебе в целом

потом у монги уже есть лог операция

oplog

Serge
09.07.2016
12:20:47
оптимистичные транзакции слышал?

oplog
я про него

yopp
09.07.2016
12:21:01


и я про него. вот собственно вопрос есть ли готовые решения которые умеют сохранять и проигрывать oplog, кроме MongoDB Cloud Backup Manager

в облако нельзя

Serge
09.07.2016
12:22:13
например я посмотрю как ты забекапишь атомарный inc
вот на уровне приложения это абстракто, не видимо дя верхнего слоя, переписывается на оптимистичную транзакцию

yopp
09.07.2016
12:22:37
yopp
09.07.2016
12:22:40
и как оно будет потом работать

yopp
09.07.2016
12:23:40
когда у тебя два клиента пишет сто записей в час, наверное да

Serge
09.07.2016
12:23:43
аналитика обычно читает и вставляет (ну, правильно написанная) там апдейты не нужны, ну, кроме map/reduce

а там нет уровня приложения, к сожалению;)

Google
yopp
09.07.2016
12:24:00
когда у тебя несколько десятков могут обновлять одну запись несколько сотен раз в минуту, это уже другое :)

map/reduce в монге на sharded кластере, хахахаха

Serge
09.07.2016
12:24:24
когда у тебя два клиента пишет сто записей в час, наверное да
на инсерты срать при оптимистичных транзакциях, они ничего не ломают

yopp
09.07.2016
12:24:24
удачи

yopp
09.07.2016
12:25:09
а вот так нельзя делать аналитику
ой, вот давай мы пропустим про нельзя, когда ты даже не видел приложения? и судишь по одной фразе, окей? :)

Serge
09.07.2016
12:25:19
map/reduce в монге на sharded кластере, хахахаха
парвильно написанные редьюсы - единственное решение для аналитики

иначе монга не нужна

yopp
09.07.2016
12:25:36
парвильно написанные редьюсы - единственное решение для аналитики
теперь возьми сделай map/reduce с output на шардед кластере

и сделай их несколько десятков параллельных

и мы после этого поговорим

yopp
09.07.2016
12:26:14
в коллекцию

там в приложении пре-аггрегация

клиенты пишут в жирную коллекцию с событиями

батчами

Serge
09.07.2016
12:26:50
в коллекцию
прекрасно, так я и делал, только надо правильно писать reduce и делать rereduce для map по новым данным

yopp
09.07.2016
12:26:53
и потом батч отправляется в map/reduce и раскладывается про «разрешениям»

Страница 13 из 342