Nick
а какие требования к кластеризации ставятся?
Nick
и кластеризацию вы планируете за счет шардинга сделат ьили на репликасетах разделив чтение-запись?
Konstantinx
я сам не знаю, если честно
Konstantinx
просто таск на перевод прилетел
Nick
странные люди, запросите требования к кластеризации, т.к. на монге помимо пробелм с отсутствием транзакций как следствие можно словить работу с устаревшими данными
Nick
либо все журналить и тогда просадочки по производительности
Nick
и можкт ваша постгра будет работать лучше чем было, если просто потюнить или опять же зафиксирвоать требования от кластеризации
Nick
а вы доработчик только софта или полностью ПО+БД+окружение?
Konstantinx
ПО+БД .
Konstantinx
То-есть есть рабочий код для постргес. Перекатываем на монгу его
Nick
тогда странно, что не вы определяете какую БД использовать
Nick
хотя всякое бывает, советую зафиксировать требования к "кластеризации", как это себе видит заказчи, какие проблемы у него сейчас изза постгровой кластеризации, почему появилось предложении именно монгу использовать и т.п.
Pavel 🕷
Там по идее можно сделать все что умеет носкл, за исключением лёгкой горизонтальной масштабируемости
Konstantinx
Да-да. А как смотрите на то , что бы юзать монгу+постргрес. Монга как кеш
Nick
для легкой горизонтальной масштабируется нужно чтобы данные были соотвевующе подготовлены, что знаете ли не тривиально
Pavel 🕷
Монга это же бд, а не кеш
Pavel 🕷
Надо или редис или мемкеш или что там ещё щас есть модное
Konstantinx
Ну да
Pavel 🕷
Но, можно подумать как сделать связку, чтобы потом отказаться от слона в пользу стабильной 4ой монги
Pavel 🕷
С меньшими потерями
Konstantinx
Pavel 🕷
Да . Я уже записался на бетку. Но времени совсем нет, что бы ждать её
А что за проект? От чего отталкиваешься и что с ним будет примерно через 5 лет по данным?
yopp
А что за проект? От чего отталкиваешься и что с ним будет примерно через 5 лет по данным?
Через пять лет весь технологический стек изменится до неузнаваемости
yopp
5 лет в индустрии это очень много
yopp
В этом горизонте можно только какие-то стратегические параметры закладывать
yopp
4.0 в продакшене я бы не планировал
yopp
В смысле с транзакциями
yopp
Во-первых они только внутри реплики работать будут, а не в шарде, а во вторых, первые версии технологий всегда с приключениями катаются
Pavel 🕷
5 лет в индустрии это очень много
Это смотря для какой, в ентерпрайзе 10к это нормально, правда там подобные решения не использовались, но в последние года начали
yopp
В промавтоматизации ещё более консервативно, но монга была самым выгодным решением в тот момент и её без особых проблем продали руководству
Pavel 🕷
В промавтоматизации ещё более консервативно, но монга была самым выгодным решением в тот момент и её без особых проблем продали руководству
В финтехе сложно, но и в него начали запиливать, как правило сейчас больше для статистических данных используется и то потому что касандра была нулевой
yopp
Мы её для аналитики и брали, ага. Как первичное хранилище для временных рядов она не очень подходящая была в тот момент, мы плохо понимали как их туда надёжностей компактно складывать
Мерль
Добрый день Столкнулся со следующей проблемой: есть коллекция объектов, каждый из содержит массив случайных чисел, уникальных для всей таблицы и лежащих в определённом диапазоне (скажем от 1 до 1 млн). Задача следующая: получить набор свободных чисел для создания нового объекта. Есть ли какой-то способ кроме генерации рандомного числа и проверки на наличие в коллекции?
yopp
Живет, не кашлеет или проблемы были?)
Были конечно. Она тогда только только вышла, наелись с ней всякого с шардингом
yopp
Плюс у нас требования очень жестокие были по эксплуатациии, например пришлось кластер в vShpere крутить
Pavel 🕷
Плюс у нас требования очень жестокие были по эксплуатациии, например пришлось кластер в vShpere крутить
У меня тоже опыт был с монгой в есфере, но вроде как проблем там не было особых, тогда как раз тайгер вышл
Pavel 🕷
До него я вообще не хотел монгу использовать
D
Доброго дня. Кому не трудно поставьте плиз звезду. Наша приложуха для mongoDB на конкурсе. Могу промокоды дать. https://bestmobileappawards.com/app-submission/mongolime
Nick
на десктоп такое както получше бы смотресь в плане применимости
Nick
еще и платное
Nick
это все IMHO и может ваше мнение другое конечно
Ilya
всем добрый день, такой вопрос: есть документы вида: { _id: ObjectId, items: [{"a": 1}, ..., {"a": N}] } надо выбрать все доки у которых кол-во элементов в items равно 3 и выкинуть последний чтобы осталось два.
D
серьезно ест ьлюди разработывающие структуру бд на мобиле?
Есть чуваки которым прям зашло, когда не за компом но что то нужно срочняк сделать
D
еще и платное
эт ток ios, ради теста бахнули
Nick
когда не за компом и нужно чтото срочняк сделать - это пиздец
Nick
я просто не представляю что можно сделать из приложухи, если развалился кластер например. Разве что проапдейтить статус у дока, чтоб его куда двинуть и то это не критично ни разу и как правило терпит время вплоть до окнчания выходных
D
Ну мы в первую очередь приложение это чисто по фану делали
yopp
Приложение было очень плохим, когда я его первый раз видел
D
Скоро планируется еще один большой апдейт
Nick
Мммм это походу то самое, а то я поудмал может это еще ктото новый замутил
yopp
То самое, да. Нарушающее права на торговую марку ;)
D
🙂
Nick
Кстати а вы продумывали список задач, котоыре можно решат ьв вашей приложухе?
D
В описании же есть что она умеет
Pavel 🕷
Щас уже в пору прилажухи для кубирнейтс делать)
Pavel 🕷
Там по идее без консоли можно разломавшийся кластер поднять)
Pavel 🕷
А так то консоль, а с ней на телефоне что-то не то
Dmitry
когда меня .sort({ 'views': -1 }) на .sort({ ‘created’: -1 }) монге не хватает пямяти 32мб это нормально?
Nick
когда меня .sort({ 'views': -1 }) на .sort({ ‘created’: -1 }) монге не хватает пямяти 32мб это нормально?
да нормально, используйте индексы для сортировки больших объекмов данных
Dmitry
спс
Petro
Вопрос, у $facet внутри pipeline идет в разброс? т.е. пишу $sort, $skip, $limit, и каждый раз когда меняю skip для пагинации происходит бред
Petro
ну и да, sort я делаю по полю status который может повторятся в юзеров (blocked, active, pending)
️lefrotite
Как методом $pull удалить один элемент, подходящий под условие, а не сразу все повторяющиеся?
Konstantinx
Вернусь к вчерашнему вопросу с транзакциями. Апдейтнул модель и привёл всё к денормализованому виду. Всё хорошо легло, но есть один метод с кучей операций вставки, который нуждается в транзакции. Двухфазный комит я так понимаю это только на уровне приложения сработает? И что вы думаете на счёт TokuMX и его транзакций?
Amir
привет котоны, а подскажите пожалуйста кес по работе с update upsert=true с такими радостями как $set $addToSet $setOnInsert в одном запросе
Amir
собственно трабл в том, что при создании документа мне нужно одно поле установить в 0, а при обновлении уже другое число засунуть
Amir
если в $set и $setOnInsert засунуть это поле, начинается ругань
Avral
Всем привет! Такой вопрос, можно как то гео выборки делать если есть координаты не в GeoJSON формате? Формат такой: "location" : { "name" : "Вальпараисо, Чили", "lat" : -33.047238, "lng" : -71.6126885 },
Avral
$geoWithin нужен.. или какие есть варианты? большая база и гео в таком формате