metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-04-28 12:15 pm

Опять же на тему "готовых" решений

В последних постах [livejournal.com profile] yakov_sirotkin про очередь асинхронной обработки задач упоминается, почему они отказались от "готового" решения в виде Oracle AQ: это дело есть только в определенных Edition оракла и при тестировании у них возникли какие-то баги в очередях.

А у меня в двух проектах есть такие задачи, с обработкой очередей. И вот я сразу себе представляю - приезжаем ставить софт, клиент сказал, что у него "есть Оракл", а по приезде оказывается что это Express Edition, а DBA, которые в случае глюков будут разбираться в них, вообще нет. "Сушите весла."

То же самое касается практически всех "готовых" решений для сложных задач, входящих в состав СУБД, ОС или там еще чего-нибудь инфраструктурного. Как только принято решение использовать что-то более сложное, чем базовые функции - с этой системы ты уже никуда не уйдешь и нужно изучать ее "вглубь" и надеятся, что в следующих релизах этот функционал не выкинут, не изменят условия лицензирования, и что он будет работать как надо в других окружениях, и что будет достаточное количество людей, его использующих, чтобы было с кем посоветоваться.

[identity profile] sergiej.livejournal.com 2009-04-29 04:09 am (UTC)(link)
Не хочется флеймить, нравится вам всё на базе делать - делайте.
(deleted comment)

[identity profile] sergiej.livejournal.com 2009-04-29 12:39 pm (UTC)(link)
У вас не было вопроса, на что отвечать? На то что "загрузка документа со сложной схемой прав на видимость атрибутов" это логика?
Или: Расчёт сальдо при истории хозопераций... круто, где там бизнес логика? Если можно сделать на базе запрос с аггрегацией - его надо сделать.
Вообще засчитывайте что хотите, я столько раз пытался объяснить людям которые всё делают на базе или которые наоборот всё делают на пользовательском интерфейсе зачем нужна трёхзвёнка что жалко тратить время, если человек сам не понял - значит оно ему не нужно было, и может быть что в его области оно и не нужно.
(deleted comment)

[identity profile] sergiej.livejournal.com 2009-04-29 01:12 pm (UTC)(link)
Ага, круто, в первом случае "вызов ХП", внутри там ничего не происходит, просто в поставке оракла уже есть ХП "Списаниие товаа со склада по расходному документу". Круто, тогда конечно первый вариант.
(deleted comment)

[identity profile] sergiej.livejournal.com 2009-04-29 02:50 pm (UTC)(link)
1) ну и что? Их от этого что уже программировать и поддерживать не надо?
2) языки программирования высокого уровня не оперируют множествами?

[identity profile] metaclass.livejournal.com 2009-04-29 03:01 pm (UTC)(link)
По первому - поддержка и программирование SP как бы и сложнее, чем на обычном языке.
А по второму - вроде только LINQ и оперирует, а все остальное при работе с множествами таки на порядок многословнее чем SQL

[identity profile] sergiej.livejournal.com 2009-04-29 03:07 pm (UTC)(link)
Многословие не порок, порок когда слишком медленно. Базы данных должны хорошо хранить данные и ими быстро оперировать, пользоваться данными в большинстве случаев должен второй уровень. То что производительность при просчёте некоторых вещей лучше на базе - это надо делать на базе. Я вообще не вижу конфликта, меня злит только тупое одностороннее видение: я всё делаю на базе/я всё делаю на ООП/ я всё делаю на визуальных формах.

[identity profile] metaclass.livejournal.com 2009-04-29 03:11 pm (UTC)(link)
>Я вообще не вижу конфликта, меня злит только тупое одностороннее видение
Ну, я вот тоже не вижу противоречия между обоими подходами. Очевидно, что аггрегацию, сортировки и вообще все что хорошо ложится на SQL надо делать в базе, а всякую императивную интеллектуальщину - лучше на обычном языке.

[identity profile] sergiej.livejournal.com 2009-04-29 03:23 pm (UTC)(link)
Вот именно. Я видел работающую систему в которой ВСЁ было написано на PL/SQL абсолютно всё, страницы для пользователя в том числе и обработка всего HTTP. Оно работало... скажем так, запросы выполнялись очень быстро, но поддерживать её можно было исключительно: работает? - не трогайте. Интеграция с любой новой системой выливалась в месяцы разработки дорожайшими в мире специалистами, потом месяцами стабилизации. Когда вместо этого посадили пяток студентов, которые за неделю неоптимально и некрасиво присобачивали на жабе "любой каприз бизнеса", то "бизнес" вздохнул свободно, не надо больше ходить на поклон к волосатым хиппи знающим все дебри старой системы, которые кроме прочего умели небольшой ошибкой похерить половину базы.
(deleted comment)

[identity profile] sergiej.livejournal.com 2009-04-29 06:18 pm (UTC)(link)
Берутся другие студенты и они опять фигачат простой неоптимальный код. Я однажды на спор блондинку которая всю жизнь работала барменшей взял и через две недели она решала несложные задачи по поддержке системы не хуже сидящего рядом консультанта из Аксенчера. Это не квантовая физика это простое ремесло.
(deleted comment)

[identity profile] sergiej.livejournal.com 2009-04-30 04:20 am (UTC)(link)
Вот именно.