
yopp
09.07.2016
12:27:47
и ваще, монговцы сами нам открытым текстом сказали что нехуй использовать map/reduce, валите на aggregation framework
правда они молодцы и AF не умеет output без замены коллекции

Serge
09.07.2016
12:28:27

Google

Serge
09.07.2016
12:29:38
погоди, а если rereduce со старым output делать, все равно есть временная? я чего то не замечал...

yopp
09.07.2016
12:30:41
в смысле читать из коллекции
потому что данные могут приезжать в разнабой

Serge
09.07.2016
12:31:02
или это только на sharded? мы просто тогда шардингом не играли, потому что просто поставили большие тачки с кучей памяти и lvm поверх iscsi

yopp
09.07.2016
12:31:18
да, на sharded
в простом реплика-сете всё нормально

Serge
09.07.2016
12:31:36

yopp
09.07.2016
12:31:48
да не выйдет, яж говорю

Serge
09.07.2016
12:32:11
ну ок, больно тогда, надо этим поиграть, щас ресурсы есть попднимать шарды;)

yopp
09.07.2016
12:33:16
в батче могут быть данные за любое время вообще
а для того чтоб обновить временной интервал, надо прочитать все записи которые в него попадают
так как там относительно сложна математика по аггрегациям

Google

Roman
09.07.2016
13:48:40

Serge
09.07.2016
14:08:25
а чего рассказывать? уже все рассказал:)
и xfs поверх:)

Aleksandr
11.07.2016
13:13:05
ох и нафлудили, что то решили хоть или так?

Алексей
12.07.2016
11:28:42
господа, посоветуйте чем лучше бекапить базу по 3/4 тера ?

Alex
12.07.2016
11:29:46
мы бэкапим снапшотом zfs. Правда, приходится останавливать монгу на минутку
но других вариантов особо нет

Алексей
12.07.2016
11:30:11
но слейв остановить дешево, правильно ?

Alex
12.07.2016
11:30:28
у нас нет слейва. Если есть - то да, вообще красота
т.е у нас сценарий такой: стопаем монгодб (только осторожно - надо тщательно следить, что она остановилась, инит скрипты там глючные были в 2.7), снапшотим раздел с базами, запускаем монгодб, утягиваем снапшот в бакулу

Алексей
12.07.2016
11:31:55
объем большой ?

Sergey
12.07.2016
11:32:24
Если есть хидден реплика - достаточно сделать fsynclock и cp/rsync

Алексей
12.07.2016
11:32:40
нет хидден нету

yopp
12.07.2016
11:33:19

Sergey
12.07.2016
11:33:31
А зачем при снапшоте останавливать базу?

yopp
12.07.2016
11:33:36
до 3.2 fsynclock ничего не гарантирует на самом деле

Sergey
12.07.2016
11:33:40

Алексей
12.07.2016
11:33:48
у меня wt

yopp
12.07.2016
11:33:52
да, а зачем mmap вобще

Алексей
12.07.2016
11:33:52
и 3.2

Google

yopp
12.07.2016
11:33:54
он не нужен
если монгу штатно потушить, она положит всё на диск и шанс что у тебя там чекпоинт какой-то не доехал или с журналом говно практически нулевой
но с 3.2 и wt можно и без этого, да

Sergey
12.07.2016
11:36:09
Ну тушить базу на проде - это прям какой-то нонсенс.

Алексей
12.07.2016
11:36:10
так ладно понял, принципиальной разницы lvm snapshot или zfs snapshot нету ведь ?
механика будет такой же

yopp
12.07.2016
11:36:21
более того
если у тебя sharded cluster, других вариантов вообще нет
причём там придётся знатно поебаться чтоб у тебя он к хуям не развалился

Sergey
12.07.2016
11:36:58

yopp
12.07.2016
11:37:13
это я к «тушить на проде»
а вообще в монге летать без реплики это так себе затея :)

Sergey
12.07.2016
11:37:32
мы бэкапим снапшотом zfs. Правда, приходится останавливать монгу на минутку
у нас нет слейва. Если есть - то да, вообще красота

yopp
12.07.2016
11:37:42
мы монгу с 1.8 кажется эксплуатируем
или чо там последнее было до 2.0
если у вас по случаю будет шард, то там всё гораздо хуже

Google

yopp
12.07.2016
11:39:40
надо делать hidden member на каждый шард + конфиг сервер
и потом лочить базу, делать fsync, натурально выключать скрытых членов, отпускать лок и бекапить всех разом

Алексей
12.07.2016
11:41:27
шаред кластер пока в планах отсутствует
большая часть базы - архив

Sergey
12.07.2016
11:41:44
все равно одновременно (до милсекунды) fsync не сделать, так что oplog тянуть все равно придется, а в этом случае уже не так критично насколько одновременно сделан бекап

yopp
12.07.2016
11:42:04

Sergey
12.07.2016
11:42:18
клиенты подождут?

yopp
12.07.2016
11:42:27
да
иначе твой бекап — говно
если вдруг создался новый чанк, то ты в жопе :)

Sergey
12.07.2016
11:42:53
чтобы чанки не создавались можно балансер отключить

yopp
12.07.2016
11:42:56
потому что если у тебя в бекапе конфиг сервера этого чанка не будет, ты потерял данные

Sergey
12.07.2016
11:43:02
на время бекапа

yopp
12.07.2016
11:43:14
там всё не так просто, увы :(

Sergey
12.07.2016
11:44:43
стоп, а кто будет чанки плодить при отключенном балансере?

yopp
12.07.2016
11:45:39
балансер исключительно катает чанки между шардами
может случится chunk split
потому что его делает mongos

Sergey
12.07.2016
11:46:40
ну хз... потушить один config сервер))

Google

Sergey
12.07.2016
11:49:39
хотя если chunk split вдруг и произойдет, это не повлияет на сохранность данных - они на том же шарде и останутся

Alex
12.07.2016
11:50:29
А что такое сделали в 3.2, что можно делать снапшот не боясь неконсистентности потом?
интересно
ну 3.2 + wt

Sergey
12.07.2016
11:51:07

yopp
12.07.2016
11:51:07
в теории CoW
и сделали так, чтоб ты мог поставить без ебли базу во write lock
и оно сделает fsync сливая данные на диск
после этого ты можешь сделать бекап и потом сделать unlock
всё это время запись будет стоять раком

Alex
12.07.2016
11:52:09
о
круто. спасибо

yopp
12.07.2016
11:53:00
в теории CoW
^^ CoW в wt был изначально, вобщем-то за это его и купили. но в 3.2 это всё в порядок привели

Alex
12.07.2016
11:53:09
Хотя штатный шутдаун на пару минут ночью для бекапа - для нас не критично

Roman
26.07.2016
23:39:12
單槍匹馬 ⠀ ⠀⠀⠀⠀ ⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀ ⠀ ⠀⠀⠀⠀ who are you?

Dan
26.07.2016
23:39:32
О! Рома не спит, привет!
Это очень клёвый, наш человек ) нуждается в консультации по Монге. У него нода за сто лямов перешла, нужен так сказать совет на практике

Roman
26.07.2016
23:40:10