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

Как я понимаю, ORM в проектах особо не приветствуется? (не

только в расте)
а то сколько не слышу, чаще всего пишут чуть ли не raw sql запросы, ну или в контексте раста используют что-то вроде sqlx

15 ответов

8 просмотров

Сколько людей столько и мнений Я лично за ORM, но нужно учитывать, что при разных архитектурах и командах не всегда оно полезно

ну типа люди стали забывать для чего нужна орм) это же абстракция просто для работы с базой данных которая позволяет тебе не зависить от конкретной базы с использованием орм у тебя есть возможность безболезненно переидти на люблю реляционную базу

Bogdan
ну типа люди стали забывать для чего нужна орм) эт...

вся эта идея с переходом лопается, когда у тебя появляются сложные запросы какие-нибудь рекурсивные квери постгреса, например или еще что, что орм тупо не умеет, а тебе надо тут либо спускаться в нативный sql, либо селектить вообще все и разруливать логику на стороне приложения, что при сколько-нибудь значимых объемах данных подвесит вообще все ну и любое подобное «общее» решение всегда будет менее гибким и оптимизированным, чем конкретный диалект конкретной субд, просто потому что используется не он, а какой-то урезанный общий знаменатель по функционалу. Хороший пример проблемы - jpa из мира жвм. Там в его jpql даже тупо limit не работает, потому что какие-то там недосубд из списка поддерживаемых его не умеют, поэтому страдать должны все

Bogdan
ну типа люди стали забывать для чего нужна орм) эт...

Интересно, куда и зачем мне переходить c Postgres?

Nano
Интересно, куда и зачем мне переходить c Postgres?

ну вон беженцы с оракла на постгрю перебегают, типа нас несколько лет уже полет отличный, но миграция настолько веселая и настолько много было изначально на оракл завязано (там куча хранимок была и тд), что решили просто написать нормальную замену на постгре, которая постепенно забирала бы на себя функционал

Nano
Интересно, куда и зачем мне переходить c Postgres?

Ну.. например на sqlite в юнит тестах. Чтоб in-memory.

Anton Guzun
не заметили разницы в перформансе?

не, нас устраивает по бенчам в синтетике конечно оракл быстрее (60к tps против 50к tps постгри) но нам хватает стоит кластер постгри через патрони, в нем нарезаны отдельные бд для каждого микросервиса

Der Vater aller Spiegel
Ну.. например на sqlite в юнит тестах. Чтоб in-mem...

Что мне там тестить? Сохранение в базу данных?

Nano
Что мне там тестить? Сохранение в базу данных?

да, поведение коннекторов к бд может отличаться даже при изменении минора. Такое ловил с mariadb-connector-c. Минор алпайна в контейнере не был зафиксирован, за алпайном пришла новая версия коннектора. Хорошо, что тесты выявили.

Anton Guzun
да, поведение коннекторов к бд может отличаться да...

только для этого надо тестить на той же субд, на которой будешь работать иначе ты протестишь коннектор к sqlite, а потом у тебя коннектор к мусклу грохнется в рантайме) а для этого тестконтейнеры и вообще для интеграционных тестов те же брокеры тоже там для них поднимаются

Nano
Интересно, куда и зачем мне переходить c Postgres?

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

Bogdan
Ну например ты решил вытащить какую-то часть прило...

звучит как меганатягивание совы сервис банально может писать в тот же инстанс постгри, но другую базу и не придется ничего настраивать

Dubzer (ꏿ﹏ꏿ๑)
звучит как меганатягивание совы сервис банально м...

Да но в интеграции он будет сложнее чем такой же со SQLite

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
{!! $modx->runSnippet( 'multiTV',[ 'tvName'=>'slider-main1', 'docid'=>'[*id*]', 'tplConfig'=>'', 'display'=>'4', 'offset'=>'0', 'rows'=>'all', 'ra...
Роман С
4
Из рассылки The Lazarus team is glad to announce the release of Lazarus 3.4. This is a bugfix release and was built with FPC 3.2.2. Here is the list of changes for Lazarus...
Ed Doc
4
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Карта сайта