@devops_ru

Страница 753 из 4568
Max
25.07.2016
12:19:02
ну только чанками, либо ленивые вычисления, если в го завезли их
Есть какой-то патерн как их реализовывать? Не хочу писать велосипед

Nikolay
25.07.2016
12:19:03
мне памяти не хватало один разок, я все через ленивые функционалы делал :) как пайп, только без создания промежуточных адски больших листов

imap | ifilter | izip и т.д.

я хз; определенно есть; не копал

Google
Nikolay
25.07.2016
12:19:48
Max
25.07.2016
12:20:32
mapreduce ?
Ну как бы операции делаются не на уровне самих данных, они делаются с другим дата сетом

mapreduce ?
Это только если реализовать мапредюс в самом коде

Dmitriy
25.07.2016
12:21:51
Max
25.07.2016
12:21:54
В общем пришли к вопросам по проще и понятнее - если кто знает патерны работы с чанками, было бы крайне полезно

Пока буду гуглить

Max
25.07.2016
12:24:29
200к

??Dmitry????
25.07.2016
12:24:55
довавьте еще ОЗУ)

Evgeny
25.07.2016
12:25:06
делите на чанки, дальше делите их методом кольца по воркерам и вперед, че гуглить то?

Max
25.07.2016
12:25:50
Чанками по типу по 1000 штук выборки в цикле?

Метод кольца? Есть англ название этому?

Google
Nikolay
25.07.2016
12:26:02
ну

Evgeny
25.07.2016
12:26:04
нупример

Max
25.07.2016
12:26:43
довавьте еще ОЗУ)
Уже добавили, через 2недели съели и поняли что не выход хаха

Nikolay
25.07.2016
12:27:22
вот и пригодились кому-то 1000тб рамы от амазона

или сколько у них там

Dmitriy
25.07.2016
12:28:38
200к
200к чего?

мегабайт?

Max
25.07.2016
12:29:07
Документов

Монго

Dmitriy
25.07.2016
12:29:26
так. а общий объем данных в гигабайтах?

WooF
25.07.2016
12:29:28
Ух трафик просрался, провайдер тому ip-шнику конфиг поправил сказали.

Max
25.07.2016
12:30:02
так. а общий объем данных в гигабайтах?
Этой коллекции или вообще базы?

Dmitriy
25.07.2016
12:30:19
видимо коллекции

[Anonymous]
25.07.2016
12:30:53
руль сегодня работает?

ptchol
25.07.2016
12:31:03
в монге же есть курсор, в чем проблема ?

Dmitriy
25.07.2016
12:31:25
я и веду к тому, что почему-бы этот мап-редьюс средствами самой монги не выполнять

Evgeny
25.07.2016
12:32:48
а зачем ее лочить? да и это не масштабирование, это чуть больший костыль

пройдет еще месяц и будут новые проблемы

ptchol
25.07.2016
12:33:05
я что то пропустил, а что там ? типа агрегацию из кучи док нада сделать и они в память апппа не влезают ?

Google
Evgeny
25.07.2016
12:33:23
Почему нельзя сразу сделать нормально и забыть о проблеме?

Dmitriy
25.07.2016
12:34:51
Почему нельзя сразу сделать нормально и забыть о проблеме?
нормально - это использовать тот апи, что вам дает сторадж

Max
25.07.2016
12:34:58
я что то пропустил, а что там ? типа агрегацию из кучи док нада сделать и они в память апппа не влезают ?
Не аггрегацию, в этом и дело что операция выходит за скоуп коллекции, данные юзаются для операций с другой коллекцией

Почему нельзя сразу сделать нормально и забыть о проблеме?
Это как? Сразу не сделали "нормально" потому что никто не думал что будет так много

ptchol
25.07.2016
12:35:38
а. аля relations ? и не хочется внедрять dbref да ,

*?

Max
25.07.2016
12:35:40
а ?
Считаю

ptchol
25.07.2016
12:36:26
чо там считать ) db.collection_name.stats(1024*1024*1024)

Max
25.07.2016
12:36:43
а. аля relations ? и не хочется внедрять dbref да ,
Там даже другой микросервис вызвается, вообще скоуп вылазит никак средствами мапредюс монги не решить

Evgeny
25.07.2016
12:36:44
Это как? Сразу не сделали "нормально" потому что никто не думал что будет так много
не зная деталей я могу только повтори что уже говорил - общие слова. Делите на части и обрабатываете по частам параллельно сколько хотите

ptchol
25.07.2016
12:37:04
Evgeny
25.07.2016
12:38:10
Если бежать долго - курсор может и отвалиться. Ну и плюс никто не мешает получить инконсистентность через пару дней такой обработки

Dmitriy
25.07.2016
12:38:29
а вам прям реалтайм всё это жевать надо?

Evgeny
25.07.2016
12:39:15
Ага

Max
25.07.2016
12:39:22
db.wpPageData.stats(1024*1024) { "ns" : "amazonone.wpPageData", "count" : 248418, "size" : 613, "avgObjSize" : 2588, "numExtents" : 17, "storageSize" : 754, "lastExtentSize" : 198.16796875, "paddingFactor" : 1, "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.", "userFlags" : 1, "capped" : false, "nindexes" : 1, "totalIndexSize" : 7, "indexSizes" : { "_id_" : 7 }, "ok" : 1 }

Сори

Google
ptchol
25.07.2016
12:39:41
600метров ? вычитай в мемори целиком и живи.

Dmitriy
25.07.2016
12:40:33
600метров ? вычитай в мемори целиком и живи.
может они эти 600 метров против терабайтного датасета процессят :)

ptchol
25.07.2016
12:40:50
он же говорит они ходят с этими данными в чужой сервис

Dmitriy
25.07.2016
12:41:10
так и сколько у вас в итоге данных то учавствует в обработке?

Max
25.07.2016
12:41:27
600метров ? вычитай в мемори целиком и живи.
Целиком? Так оно так и работает сейчас и валится

Dmitriy
25.07.2016
12:41:27
если вам далеко до 32-64гб - то может вы рано оптимизировать начали?

Admin
ERROR: S client not available

Evgeny
25.07.2016
12:42:59
а на чем 600 метров не влезает в память не хватает?

Max
25.07.2016
12:43:35
Всмысле на чем? DO

Dmitriy
25.07.2016
12:43:46
32 гб коллекция?
Коллекция сама по себе ничего не означает. Может у вас там сжатые данные, которые потом в 25 раз разворачиваются в памяти.

Evgeny
25.07.2016
12:44:10
Всмысле на чем? DO
ну почему 600 метров не лезут в память

ptchol
25.07.2016
12:44:25
имхо стоимость тачки на DO в расчете на год, будет мне кажется дешевле, чем написание и отлаживание всего того громадья что вы придумаете

Nikolay
25.07.2016
12:44:43
?

потреблядское мышление 21 века

кек

ptchol
25.07.2016
12:45:14
а ?

Max
25.07.2016
12:45:35
А по поводу курсора на монго, кажется это подойдёт

Надо почитать

Google
ptchol
25.07.2016
12:46:05
А по поводу курсора на монго, кажется это подойдёт
если вы юзаете mgo почитайте целиком про find ) и про pipe на всякий случай

Max
25.07.2016
12:46:08
Но курсор ведь не перезапускает выборку при каждом обращении?

ptchol
25.07.2016
12:46:24
pipe принимает на вход интерфейс, в котором описан целиком пайплайн агрегации

Max
25.07.2016
12:46:26
Т е данные могут стать не актуальными к моменту как курсор доедет

??Dmitry????
25.07.2016
12:46:33
че это за мужик на стикере?

ptchol
25.07.2016
12:46:40
Но курсор ведь не перезапускает выборку при каждом обращении?
нет, это итератор, но возможны фантом риды

Т е данные могут стать не актуальными к моменту как курсор доедет
нет, такого не будет, потому что это не постгря)))

ptchol
25.07.2016
12:47:25
ща

ptchol
25.07.2016
12:48:17
Ок понял
https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/ вот это прочтите целиком и вдумчиво

если лениво то хотя бы по вашему кейсу https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/#cursor-snapshot

Max
25.07.2016
12:48:38
Не лениво, надо разбираться

Ещё один вопрос - когда документ читается меняется и потом записывается обратно, между этим он может быть уже изменён и риск этого довольно большой с этими параллельным штуками

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

Evgeny
25.07.2016
12:53:20
1) локи 2) точечные изменения 3) локи + точечные изменения

Max
25.07.2016
12:59:20
Понял

Реализуются локи в монго руками?

Страница 753 из 4568