Nick
а какие требования к кластеризации ставятся?
Nick
и кластеризацию вы планируете за счет шардинга сделат ьили на репликасетах разделив чтение-запись?
Konstantinx
я сам не знаю, если честно
Konstantinx
просто таск на перевод прилетел
Nick
странные люди, запросите требования к кластеризации, т.к. на монге помимо пробелм с отсутствием транзакций как следствие можно словить работу с устаревшими данными
Nick
либо все журналить и тогда просадочки по производительности
Nick
и можкт ваша постгра будет работать лучше чем было, если просто потюнить или опять же зафиксирвоать требования от кластеризации
Konstantinx
Nick
а вы доработчик только софта или полностью ПО+БД+окружение?
Konstantinx
ПО+БД .
Konstantinx
То-есть есть рабочий код для постргес. Перекатываем на монгу его
Nick
тогда странно, что не вы определяете какую БД использовать
Pavel 🕷
Nick
хотя всякое бывает, советую зафиксировать требования к "кластеризации", как это себе видит заказчи, какие проблемы у него сейчас изза постгровой кластеризации, почему появилось предложении именно монгу использовать и т.п.
Pavel 🕷
Там по идее можно сделать все что умеет носкл, за исключением лёгкой горизонтальной масштабируемости
Konstantinx
Да-да. А как смотрите на то , что бы юзать монгу+постргрес. Монга как кеш
Pavel 🕷
Nick
для легкой горизонтальной масштабируется нужно чтобы данные были соотвевующе подготовлены, что знаете ли не тривиально
Pavel 🕷
Монга это же бд, а не кеш
Nick
Pavel 🕷
Надо или редис или мемкеш или что там ещё щас есть модное
Konstantinx
Ну да
Pavel 🕷
Но, можно подумать как сделать связку, чтобы потом отказаться от слона в пользу стабильной 4ой монги
Pavel 🕷
С меньшими потерями
Konstantinx
yopp
yopp
5 лет в индустрии это очень много
yopp
В этом горизонте можно только какие-то стратегические параметры закладывать
yopp
4.0 в продакшене я бы не планировал
yopp
В смысле с транзакциями
yopp
Во-первых они только внутри реплики работать будут, а не в шарде, а во вторых, первые версии технологий всегда с приключениями катаются
Pavel 🕷
5 лет в индустрии это очень много
Это смотря для какой, в ентерпрайзе 10к это нормально, правда там подобные решения не использовались, но в последние года начали
yopp
Pavel 🕷
yopp
В промавтоматизации ещё более консервативно, но монга была самым выгодным решением в тот момент и её без особых проблем продали руководству
yopp
Мы её для аналитики и брали, ага. Как первичное хранилище для временных рядов она не очень подходящая была в тот момент, мы плохо понимали как их туда надёжностей компактно складывать
Мерль
Добрый день
Столкнулся со следующей проблемой:
есть коллекция объектов, каждый из содержит массив случайных чисел, уникальных для всей таблицы и лежащих в определённом диапазоне (скажем от 1 до 1 млн).
Задача следующая: получить набор свободных чисел для создания нового объекта. Есть ли какой-то способ кроме генерации рандомного числа и проверки на наличие в коллекции?
Pavel 🕷
Pavel 🕷
Konstantinx
Pavel 🕷
yopp
Плюс у нас требования очень жестокие были по эксплуатациии, например пришлось кластер в vShpere крутить
Pavel 🕷
До него я вообще не хотел монгу использовать
D
Доброго дня. Кому не трудно поставьте плиз звезду. Наша приложуха для mongoDB на конкурсе. Могу промокоды дать. https://bestmobileappawards.com/app-submission/mongolime
Nick
Nick
на десктоп такое както получше бы смотресь в плане применимости
Nick
еще и платное
Nick
это все IMHO и может ваше мнение другое конечно
Ilya
всем добрый день, такой вопрос:
есть документы вида:
{
_id: ObjectId,
items: [{"a": 1}, ..., {"a": N}]
}
надо выбрать все доки у которых кол-во элементов в items равно 3 и выкинуть последний чтобы осталось два.
Nick
когда не за компом и нужно чтото срочняк сделать - это пиздец
Nick
я просто не представляю что можно сделать из приложухи, если развалился кластер например. Разве что проапдейтить статус у дока, чтоб его куда двинуть и то это не критично ни разу и как правило терпит время вплоть до окнчания выходных
D
Ну мы в первую очередь приложение это чисто по фану делали
yopp
Приложение было очень плохим, когда я его первый раз видел
D
Скоро планируется еще один большой апдейт
Nick
Мммм это походу то самое, а то я поудмал может это еще ктото новый замутил
yopp
То самое, да. Нарушающее права на торговую марку ;)
D
🙂
Nick
Кстати а вы продумывали список задач, котоыре можно решат ьв вашей приложухе?
D
В описании же есть что она умеет
Pavel 🕷
Щас уже в пору прилажухи для кубирнейтс делать)
Pavel 🕷
Там по идее без консоли можно разломавшийся кластер поднять)
Pavel 🕷
А так то консоль, а с ней на телефоне что-то не то
Dmitry
когда меня .sort({ 'views': -1 }) на .sort({ ‘created’: -1 }) монге не хватает пямяти 32мб
это нормально?
Nick
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 нужен.. или какие есть варианты? большая база и гео в таком формате