Size: a a a

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

2020 September 28

У

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

PD

Phil Delgyado in Архитектура ИТ-решений
Sergey Bezrukov
зачем тогда все эти корутины и асинхроны, он же синхронный
Так пока с большей частью SQL баз и нельзя работать асинхронно (драйвера есть, но не ко всем базам и пока еще сырые).
Но у меня не SQL, так что мне и не нужно про это думать.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Gennadiy Kruglov
Можно сделать асинхронную обработку на синхронной базе и jdbc.
Ну, с транзакциями будет сложно. И все равно число коннекций сильно ограничено, хотя вывернутся можно, конечно.
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Phil Delgyado
Так пока с большей частью SQL баз и нельзя работать асинхронно (драйвера есть, но не ко всем базам и пока еще сырые).
Но у меня не SQL, так что мне и не нужно про это думать.
Говорят есть какой-то r2dbc, но насколько это рабочий вариант хз.  Вроде пишут что работает с какими-то БД.
источник

PD

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

PD

Phil Delgyado in Архитектура ИТ-решений
Sergey Bezrukov
Говорят есть какой-то r2dbc, но насколько это рабочий вариант хз.  Вроде пишут что работает с какими-то БД.
Ну, есть для PG, но пару лет назад был дико сырой, что сейчас  - не знаю, не пробовал. Там все равно нужно думать про всю цепочку от приложения до распределения процессов внутри СУБД.
источник

PD

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

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

GK

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

LV

Leonid Vygovskiy in Архитектура ИТ-решений
@dphil Т.е. ktor выбрали больше по функциональным требованиям? Производительность решения по сравнению с spring стэком не сравнивали?
источник

EM

Evgenii Mikhailin in Архитектура ИТ-решений
Уруруборос Иванович
Плохие разрабы
ну, я не очень понимаю, почему знание БД вдруг стало мастхэвом.  На несколько сотен микросервисов в базы ходят два десятка. Проще либо доверить эту работу спецу, либо воспользоваться библиотекой.  И да, естественно речь не о случаях select * from и простых джойнов.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Leonid Vygovskiy
@dphil Т.е. ktor выбрали больше по функциональным требованиям? Производительность решения по сравнению с spring стэком не сравнивали?
С чем именно из спринга? По сравнению с обычными сервлетами - у ктора все на порядки лучше.
Но при чем тут спринг?
источник

LV

Leonid Vygovskiy in Архитектура ИТ-решений
webflux
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А на эту гадость мне хватило один раз посмотреть )
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Evgenii Mikhailin
ну, я не очень понимаю, почему знание БД вдруг стало мастхэвом.  На несколько сотен микросервисов в базы ходят два десятка. Проще либо доверить эту работу спецу, либо воспользоваться библиотекой.  И да, естественно речь не о случаях select * from и простых джойнов.
У меня по опыту есть корреляция: те, кто не умеют в БД - не умеют и вообще в понимание транзакций, гарантий и так далее.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Phil Delgyado
Хм, у меня и DDL всегда писали разработчики - и никаких проблем.
Вообще, работы с БД в проекте обычно очень мало, откуда вообще столько внимания к этой задаче?
На самом деле у каждой СУБД много специфики. Вряд-ли вспомню детали, но у меня в голове отложилось два момента:
- специфику СУБД точно нужно знать
- в команде редко бывает много людей, которые знают специфику конкретной СУБД
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Gennadiy Kruglov
На самом деле у каждой СУБД много специфики. Вряд-ли вспомню детали, но у меня в голове отложилось два момента:
- специфику СУБД точно нужно знать
- в команде редко бывает много людей, которые знают специфику конкретной СУБД
Ну, не так много специфики, на самом-то деле. И она очень быстро приходит к разработчику.
Ну, если совсем сложные запросы - то показывали DBA или просили помощи. Но это редкость.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
(Сложные - это те, что на ORM вообще не сделать)
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Phil Delgyado
Ну, не так много специфики, на самом-то деле. И она очень быстро приходит к разработчику.
Ну, если совсем сложные запросы - то показывали DBA или просили помощи. Но это редкость.
Вот даже чтобы в Oracle (условном) правильно индексы создать, нужны знания которые часто выходят за рамки компетенций среднего разработчика.
источник

p

pragus in Архитектура ИТ-решений
Nikolay
Подскажите какие есть прелетв у poll подхода? Вот если есть гипотетическое приложение , которое каждые 3 секунды опрашивает сервер на наличие изменений. В какое ограничение физически оно упрется,если количество таких клиентов начнет расти
Полоса до сервера кончится
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, это всего лишь значит, что DDL должен просмотреть DBA. Но это скорее про review, нежели про разработку.
источник