Size: a a a

pgsql – PostgreSQL

2021 January 12

ВР

Вячеслав Ракицкий... in pgsql – PostgreSQL
Добрый день. Появился спор с коллегой на работе по поводу хранимок в базе. Мое мнение, что писать логику в хранимках не так плохо и можно это использовать. Он говорит что все должно быть в приложении и хранимки зло. Хочу услышать еще чье-то мнение по этому поводу, чтобы сложить для себя верное мнение)
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Вячеслав Ракицкий
Добрый день. Появился спор с коллегой на работе по поводу хранимок в базе. Мое мнение, что писать логику в хранимках не так плохо и можно это использовать. Он говорит что все должно быть в приложении и хранимки зло. Хочу услышать еще чье-то мнение по этому поводу, чтобы сложить для себя верное мнение)
А аргументы были? У тебя, у него?
источник

W

Warstone in pgsql – PostgreSQL
Вячеслав Ракицкий
Добрый день. Появился спор с коллегой на работе по поводу хранимок в базе. Мое мнение, что писать логику в хранимках не так плохо и можно это использовать. Он говорит что все должно быть в приложении и хранимки зло. Хочу услышать еще чье-то мнение по этому поводу, чтобы сложить для себя верное мнение)
Против хранимок аргумент один: Когда будешь масштабировать базу на несколько инстансов ты проклянешь всех и вся.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Ins
Напомните, пожалуйста, если logging_collector = off, то лог БД не пишется?  не могу найти лог
нет, это значит что постгресовые бкенды просто пишут ошибки в stderr. в случае logging_collector = on, сообщения перехватывает отдельный процесс и пишет в лог соблюдая порядок.
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Warstone
Против хранимок аргумент один: Когда будешь масштабировать базу на несколько инстансов ты проклянешь всех и вся.
Зачем её масштабировать?
источник

ВР

Вячеслав Ракицкий... in pgsql – PostgreSQL
Ilia Zviagin
А аргументы были? У тебя, у него?
Мои аргументы: я занимаюсь разработкой и поддержкой всего что связано с базой, я пишу хранимки, пишу на них тесты и владею бизнес логикой. Если делать это в приложении, то он хочет чтобы я писал ему sql код чистый, он вставлял его в приложение. По мне лучше в одном месте хранить логику как записывать и считывать данные. Плюс не надо гонять туда-сюда данные необработанные от базы к приложению и все равно придется писать sql код.
Его аргументы: версионирование и масштабирование. Но нам не надо ее масштабировать
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Ins
а вот такого параметра в астралинукс не вижу
посмотрите в документации к астре... это не самый распространенный дистрибутив, сочуствую вам ))))
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Вячеслав Ракицкий
Мои аргументы: я занимаюсь разработкой и поддержкой всего что связано с базой, я пишу хранимки, пишу на них тесты и владею бизнес логикой. Если делать это в приложении, то он хочет чтобы я писал ему sql код чистый, он вставлял его в приложение. По мне лучше в одном месте хранить логику как записывать и считывать данные. Плюс не надо гонять туда-сюда данные необработанные от базы к приложению и все равно придется писать sql код.
Его аргументы: версионирование и масштабирование. Но нам не надо ее масштабировать
А что значит "версионирование" и что значит "масштабирование" ?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
версионировать можно и хранимки... а какие аргументы приводятся в плане масштабирования?
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Warstone
Против хранимок аргумент один: Когда будешь масштабировать базу на несколько инстансов ты проклянешь всех и вся.
Вот, скажем, ты хочешь масштабироваться.
Ты будешь масштабировать сервисы бизнес-приложения. Это вполне ясно.
Но ведь надо И СЕРВЕР СУБД масштабировать, разве нет?

В чём проблема тогда его масштабировать с хранимой процедурой с БЛ?
источник

ВР

Вячеслав Ракицкий... in pgsql – PostgreSQL
Ilia Zviagin
А что значит "версионирование" и что значит "масштабирование" ?
версионирование - что надо разные версии одной и той же хранимки, чтобы приложение с более старой версии работало, потому что для нее надо старая версия харнимки.
масштабирование - тут я честно не знаю что он имел ввиду,  на этом спор закончился
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Вячеслав Ракицкий
Мои аргументы: я занимаюсь разработкой и поддержкой всего что связано с базой, я пишу хранимки, пишу на них тесты и владею бизнес логикой. Если делать это в приложении, то он хочет чтобы я писал ему sql код чистый, он вставлял его в приложение. По мне лучше в одном месте хранить логику как записывать и считывать данные. Плюс не надо гонять туда-сюда данные необработанные от базы к приложению и все равно придется писать sql код.
Его аргументы: версионирование и масштабирование. Но нам не надо ее масштабировать
А твои аргументы почти все валидны ...
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Вячеслав Ракицкий
версионирование - что надо разные версии одной и той же хранимки, чтобы приложение с более старой версии работало, потому что для нее надо старая версия харнимки.
масштабирование - тут я честно не знаю что он имел ввиду,  на этом спор закончился
Значит, версионирование — это вообще не проблема.
источник

D

Dmitriy in pgsql – PostgreSQL
Тесты  писать неудобно. Всю бизнес-логику в хранимки не сунешь. Если и есть версионирование, то эти изменения, как я понимаю, не будут находиться в том же git-репозитории, где и код (как и тесты)
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Вячеслав Ракицкий
версионирование - что надо разные версии одной и той же хранимки, чтобы приложение с более старой версии работало, потому что для нее надо старая версия харнимки.
масштабирование - тут я честно не знаю что он имел ввиду,  на этом спор закончился
Ну, если в дискуссии ты не понимаешь аргумент контрагента — это не аргумент. В смысле — он должен был бы до тебя донести суть аргумента, иначе это не агрумент.
источник

ВР

Вячеслав Ракицкий... in pgsql – PostgreSQL
Dmitriy
Тесты  писать неудобно. Всю бизнес-логику в хранимки не сунешь. Если и есть версионирование, то эти изменения, как я понимаю, не будут находиться в том же git-репозитории, где и код (как и тесты)
почему, все хранится в git-репозитории.
источник

D

Dmitriy in pgsql – PostgreSQL
Вячеслав Ракицкий
почему, все хранится в git-репозитории.
В виде миграций?
источник

ВР

Вячеслав Ракицкий... in pgsql – PostgreSQL
Dmitriy
В виде миграций?
да
источник

D

Dmitriy in pgsql – PostgreSQL
А, ну если так, то да
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
https://habr.com/ru/company/lingualeo/blog/515530/
есть пост от Lingualeo как они переехали на постгрес. В числе прочего есть пункт про перенос БЛ в хранимки. Можно привести коллеге в качестве примера
источник