Size: a a a

Архитектура ИТ-решений

2020 September 28

SB

Sergey Bezrukov in Архитектура ИТ-решений
Gennadiy Kruglov
Какие именно?
Любители асинхрона уповают обычно на ужасные расходы, связанные с тредами.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Sergey Bezrukov
Любители асинхрона уповают обычно на ужасные расходы, связанные с тредами.
Кому это интересно?
источник

N

Nikolay in Архитектура ИТ-решений
Саддам Хусейн
не в бд, а до нее
но при любом запросе к БД они все будут ждать пока вот база по одному запросу на коннекшен не обработает
источник

MB

Maxim Bendin in Архитектура ИТ-решений
Sergey Bezrukov
Если цель - сделать, то, наверное можно. Если цель - улучшить какие-то характеристики приложения, то какой смысл.
вы, случаем, не про это https://www.reactivemanifesto.org/ ?
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Gennadiy Kruglov
Кому это интересно?
А если треды не экономить - то зачем вам вообще какой-то асинхрон?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Асинхрон обычно нужен чтобы быстрее "вернуть" результат, чаще всего - для снижения времени отклика.
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Gennadiy Kruglov
Асинхрон обычно нужен чтобы быстрее "вернуть" результат, чаще всего - для снижения времени отклика.
Если в ответе константа, то это должно помочь, да. А если ответ нужно ещё откуда-то получить?
источник

СХ

Саддам Хусейн... in Архитектура ИТ-решений
обычно отказ от ORM огорчает тех, кто вложил свое время в его изучение и набивание шишек, в ущерб SQL))
источник

MB

Maxim Bendin in Архитектура ИТ-решений
Саддам Хусейн
обычно отказ от ORM огорчает тех, кто вложил свое время в его изучение и набивание шишек, в ущерб SQL))
мучения одни только с такими разрабами.
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Саддам Хусейн
обычно отказ от ORM огорчает тех, кто вложил свое время в его изучение и набивание шишек, в ущерб SQL))
если чел не знает SQL, какой толк от него вообще на бэке
источник

СХ

Саддам Хусейн... in Архитектура ИТ-решений
Maxim Bendin
мучения одни только с такими разрабами.
да. тут важно вовремя остановить юнца, а то с этими ORM можно дико упороться
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Sergey Bezrukov
Если в ответе константа, то это должно помочь, да. А если ответ нужно ещё откуда-то получить?
Вам нужно в целом обеспечить согласованность. Это можно сделать разными способами. Нужны конкретные кейсы.

Суть в том, что можно вернуть результат до того, как база отдуплит. Иными словами, быстрыми/асинхронными могут быть не все компоненты. Важно привести систему к согласованию в конечном итоге.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Саддам Хусейн
обычно отказ от ORM огорчает тех, кто вложил свое время в его изучение и набивание шишек, в ущерб SQL))
Да ну нахер)) Мы несколько раз проводили такой эксперимент.

Исп паттерн DAO, чтобы в случае необходимости уйти от ORM на чистый JDBC. И почти всегда ORM и генерируемый им SQL при правильном дизайне не был бутылочным горлышком.
источник

EM

Evgenii Mikhailin in Архитектура ИТ-решений
Sergey Bezrukov
если чел не знает SQL, какой толк от него вообще на бэке
я видел два адекватных варианта. Либо используется ORM, либо DBA делают хранимки и дергаются хранимки. Вариант с "разрабы руками пишут SQL" практически всегда приводит к проблемам.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
В одном решении мы работали на пределе базы по вставке. Практически вся обработка была асинхронной. А результаты просто сбрасывались балками из очереди (Kafka).
источник

Si

Sergey iscremas in Архитектура ИТ-решений
Evgenii Mikhailin
я видел два адекватных варианта. Либо используется ORM, либо DBA делают хранимки и дергаются хранимки. Вариант с "разрабы руками пишут SQL" практически всегда приводит к проблемам.
Тут всё зависит от компетенций как разработчиков БД, так и разработчиков бэка. В идеале же БД должна быть тупым хранилищем, где минимум логики. А это приводит к тому, что разработчики бэка должны хорошо разбираться как в SQL, так и в других языках других БД, при этом понимая, как добиться простыми запросами согласованности
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Всё не так просто. Кто-то должен ручками прописывать DDL, структуру таблиц, индексы и пр.

Поэтому, из моей практики, часто нужно иметь всего пару человек в команде, кто хорошо знает конкретную базу и пишет скрипты. Именно "их" код ложится в liquibase/flyway. Остальные спокойно могут использовать ORM.
источник

СХ

Саддам Хусейн... in Архитектура ИТ-решений
Gennadiy Kruglov
Да ну нахер)) Мы несколько раз проводили такой эксперимент.

Исп паттерн DAO, чтобы в случае необходимости уйти от ORM на чистый JDBC. И почти всегда ORM и генерируемый им SQL при правильном дизайне не был бутылочным горлышком.
классно придумали. беру на вооружение)
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Evgenii Mikhailin
я видел два адекватных варианта. Либо используется ORM, либо DBA делают хранимки и дергаются хранимки. Вариант с "разрабы руками пишут SQL" практически всегда приводит к проблемам.
Опыт у всех разный.  Все широко использующие зашитую в БД логику (хранимки и т.п.) проекты, в которых я лично участвовал, или которые наблюдал с близкого расстояния, невозможно вспоминать без содрогания.  Разработчики же, знакомые мне, не испытывают никаких затруднений с написанием в случае необходимости (рекурсивные выборки и т.п.) SQL запросов руками и проанализировать результаты explain тоже вполне в состоянии.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Georgy Dobrikov
Что для работы с БД тогда на ваш взгляд использовать?
Э, SQL + JDBС Templates или что-то похожее. Это и проще и быстрее и удобнее.
источник