170 похожих чатов

Оказывается сама монга выпустила что-то очень похожее на MongoEngine: https://github.com/mongodb/pymodm, попробую

это

Да, мне FastAPI только в синхроне и надо.

В моих проектах у монги есть преимущество:
1) Мне не нужны транзакции. А в PostgreSQL иногда я натываюсь на проблемы с транзакциями, когда при попытке что-то записать получается ошибка, что сессия с ошибкой нужно делать роллбек.

2) Все мои данные они реально лучше ложатся в концепцию коллекций. Когда есть документы с вложенными документами. Понятно что и в постгресе можно забабахать все на JSONB, но нормализацию таблиц уже из головы мне не вытащить, и в результате когда я с посгрисом работаю, у меня много таблиц и запросы потом получаются сложные.

3) Мне в моих проектах очень важна скорость разработки. Я понимаю, что с всякими alembic миграции для постгриса можно генерить автоматом. Но все равно какие-то мелочи есть, которые руками приходитсяс прописывать. Например алембик сам не удаляет в миграциях автоматом созданные типы, надо руками прописать.

И да, я согласен что Schemaless это нифига не плюс. Все равно у меня есть модели. И как раз эти schemaless это и есть причина, почему я иногда возвращаюсь к постгресу. Боюсь на монге данные потерять. Но по факту, за много лет у меня в проекте на монге я ни разу не накосячил и данные не потерял.

А не появилась ли в монге система человеческих ошибок на схемы? Там уже давно есть возможность, для коллекций задавать жесткую схему. Вот только проблема в том, что ошибки там бесполезные. Т.е. при попытки записать невалидный документ, монга кидала ошибку без деталей в чем именно проблема. Может в новой 4.4 версии сделали нормаьные сообщения об ошибках?

4 ответов

24 просмотра

Ну смотри сам, я за 8 лет много раз плевался на эту многу и хотелось перейти на Postgres. Но поскольку было уже несколько продакшен стендов, то не было особо времени изучить этот вопрос, понять какие реально плюсы будут, которые смогут перевесить возможность шардирования. За это время у меня уже "стокгольмский синдром" выработался. Я просто уже привык к этой монге и к тому, что надо постоянно ожидать от неё подвоха и подкладывать везде соломку.

С таблицами и JSONB в простгресе очень удобное приавло можно взять на вооружение, что бы решить, что надо в колонки, а что в JSONB. Если поле есть не во всех документах, его не нужно индексировать, не надо по нему какие-то сложные запросы с условиями - то это кандидат на запихивание в JSONB. Хотя даже если надо индесировать - в постгре гораздо больше возможностей сделать это с JSONB, чем в монге.

В постгре можно и без транзакций работать - будет даже быстрее.

Я вот в постгресе стал активно юзать JSONB поля. Сложных запросов по ним не делаю. В основном там какие-то цельные куски, которые укладывать в нормализованную базу и доставать через пять джоинов было бы больно. Пока нравится.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта