MXLTN
200к
Dmitry
довавьте еще ОЗУ)
Evgeny
делите на чанки, дальше делите их методом кольца по воркерам и вперед, че гуглить то?
MXLTN
Чанками по типу по 1000 штук выборки в цикле?
MXLTN
Метод кольца? Есть англ название этому?
Nikolay
ну
Evgeny
нупример
MXLTN
довавьте еще ОЗУ)
Уже добавили, через 2недели съели и поняли что не выход хаха
Nikolay
вот и пригодились кому-то 1000тб рамы от амазона
Nikolay
или сколько у них там
Dmitriy
200к
200к чего?
Dmitriy
мегабайт?
MXLTN
Документов
MXLTN
Монго
Dmitriy
так. а общий объем данных в гигабайтах?
Andrei
Ух трафик просрался, провайдер тому ip-шнику конфиг поправил сказали.
MXLTN
так. а общий объем данных в гигабайтах?
Этой коллекции или вообще базы?
Dmitriy
видимо коллекции
Anonymous
руль сегодня работает?
Denis
в монге же есть курсор, в чем проблема ?
Dmitriy
я и веду к тому, что почему-бы этот мап-редьюс средствами самой монги не выполнять
Evgeny
а зачем ее лочить? да и это не масштабирование, это чуть больший костыль
Evgeny
пройдет еще месяц и будут новые проблемы
Denis
я что то пропустил, а что там ? типа агрегацию из кучи док нада сделать и они в память апппа не влезают ?
Evgeny
Почему нельзя сразу сделать нормально и забыть о проблеме?
Dmitriy
Почему нельзя сразу сделать нормально и забыть о проблеме?
нормально - это использовать тот апи, что вам дает сторадж
MXLTN
я что то пропустил, а что там ? типа агрегацию из кучи док нада сделать и они в память апппа не влезают ?
Не аггрегацию, в этом и дело что операция выходит за скоуп коллекции, данные юзаются для операций с другой коллекцией
MXLTN
Почему нельзя сразу сделать нормально и забыть о проблеме?
Это как? Сразу не сделали "нормально" потому что никто не думал что будет так много
Denis
а. аля relations ? и не хочется внедрять dbref да ,
Denis
*?
MXLTN
а ?
Считаю
Denis
чо там считать ) db.collection_name.stats(1024*1024*1024)
MXLTN
а. аля relations ? и не хочется внедрять dbref да ,
Там даже другой микросервис вызвается, вообще скоуп вылазит никак средствами мапредюс монги не решить
Evgeny
Это как? Сразу не сделали "нормально" потому что никто не думал что будет так много
не зная деталей я могу только повтори что уже говорил - общие слова. Делите на части и обрабатываете по частам параллельно сколько хотите
Evgeny
Если бежать долго - курсор может и отвалиться. Ну и плюс никто не мешает получить инконсистентность через пару дней такой обработки
Dmitriy
а вам прям реалтайм всё это жевать надо?
Evgeny
Ага
MXLTN
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 }
MXLTN
Сори
Denis
600метров ? вычитай в мемори целиком и живи.
Dmitriy
600метров ? вычитай в мемори целиком и живи.
может они эти 600 метров против терабайтного датасета процессят :)
Denis
он же говорит они ходят с этими данными в чужой сервис
Dmitriy
так и сколько у вас в итоге данных то учавствует в обработке?
MXLTN
600метров ? вычитай в мемори целиком и живи.
Целиком? Так оно так и работает сейчас и валится
Dmitriy
если вам далеко до 32-64гб - то может вы рано оптимизировать начали?
Evgeny
а на чем 600 метров не влезает в память не хватает?
MXLTN
Всмысле на чем? DO
Dmitriy
32 гб коллекция?
Коллекция сама по себе ничего не означает. Может у вас там сжатые данные, которые потом в 25 раз разворачиваются в памяти.
Evgeny
Всмысле на чем? DO
ну почему 600 метров не лезут в память
Denis
имхо стоимость тачки на DO в расчете на год, будет мне кажется дешевле, чем написание и отлаживание всего того громадья что вы придумаете
Nikolay
👌
Nikolay
потреблядское мышление 21 века
Nikolay
кек
Denis
а ?
MXLTN
А по поводу курсора на монго, кажется это подойдёт
MXLTN
Надо почитать
Denis
А по поводу курсора на монго, кажется это подойдёт
если вы юзаете mgo почитайте целиком про find ) и про pipe на всякий случай
MXLTN
Но курсор ведь не перезапускает выборку при каждом обращении?
Denis
pipe принимает на вход интерфейс, в котором описан целиком пайплайн агрегации
MXLTN
Т е данные могут стать не актуальными к моменту как курсор доедет
Dmitry
че это за мужик на стикере?
Denis
Но курсор ведь не перезапускает выборку при каждом обращении?
нет, это итератор, но возможны фантом риды
Denis
Т е данные могут стать не актуальными к моменту как курсор доедет
нет, такого не будет, потому что это не постгря)))
Denis
ща
MXLTN
Спасибо
Denis
Ок понял
https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/ вот это прочтите целиком и вдумчиво
Denis
если лениво то хотя бы по вашему кейсу https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/#cursor-snapshot