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] alexshubert.livejournal.com 2009-04-30 05:57 am (UTC)(link)
Во-первых, рекомендую почитать про версионные СУБД, чтобы не путать термины.
об чем вы хотели перетереть за верисонные субд?

Попросите их рассказать, как они еб.. мучились с этими висящими блокировками, если одно из приложений падало.
я думаю, не стоит. Сейчас, как минимум, не 1990 и никто в продакшн систему такой архитектуры не пустит.

то значит блокировка имеет место быть.
Вы уверены, что вы девелопер? Чем надо руководствоваться, чтобы пустить транзакцию с wait, мне понять затруднительно.

В6четвертых, почитайте матчасть по уровням изоляции и попытайтесь понять, чем логическая изоляция отличается от физических блокировок.
Простите, но таки чем? Таки где вы видели "физическую" блокировку. Select with lock / prot.edit?