metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-09-10 06:03 pm

Postgres 9.3

Посмотрел, чего добавили в Postgres новый.
Все огорчает, т.к. никак не коррелирует с другими СУБД, соответственно - использовал новую фичу - прибил себя гвоздями к постгресу.
Всякие там json-типы данных, да какие-то lateral join да внешние источники данных.

Даже не знаю, имеет ли смысл углублятся в эти нетривиальные SQL-расширения, потому как сделать все методом "сгенерил стандартный SQL и потом обработал результат на более мирном языке" выглядит более future-proof. Это что касается чтения данных.
А в плане записи - вообще все хреново, триггера везде разные, автоинкременты разные, глаза б этого всего не видели, но реализация "вся логика в сервере приложений или клиенте" выглядит еще более неприятно.

[identity profile] ext_1684112 (from livejournal.com) 2013-09-11 12:45 pm (UTC)(link)
Положим, такая хранимка может принять сообщение из очереди и обрабатывать его, используя любую, самую изощренную логику, которую писать на pl/sql будет сильно муторно.

[identity profile] jakobz.livejournal.com 2013-09-11 12:51 pm (UTC)(link)
Любой отдельно стоящий код на .net может сделать ровно тоже самое.

[identity profile] ext_1684112 (from livejournal.com) 2013-09-11 12:55 pm (UTC)(link)
Не совсем то же самое. Доступ к базе изнутри базы работает как-бы заметно быстрее. Речь же идет о чем? Как запихать логику в базу. И у MS SQL на этот вопрос есть хороший ответ.

[identity profile] jakobz.livejournal.com 2013-09-11 01:23 pm (UTC)(link)
Логику в базу запихивают чаще не для того, чтобы было быстрее. Мест, где реально нужно что-то там сильно ускорять, в тех же оперденях очень мало.

Логику в базу запихивают потому что в чем-то это удобнее, чем писать снаружи: один и тот же язык, все на виду, можно подхачить не отходя от кассы.

Я ничего не имею .net-а внутри базы, но это уже совсем не то. В postgres, к слову, можно вообще бинарники на сях внутрь совать.

[identity profile] ext_1684112 (from livejournal.com) 2013-09-11 06:39 pm (UTC)(link)
>один и тот же язык,
Воот! И есть мнение, что C# более человечен, чем plsql, и среда разработки под него нормальная.

А в постгрес можно яву засунуть, но что-то там такое... то ли одна ява-машина на все процессы, то ли еще какая дурь..