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] metaclass.livejournal.com 2009-05-01 07:29 am (UTC)(link)
Если мы кэшируем остатки на начало рабочих периодов (и текущий) для ускорения расчетов(фактически мемоизация результатов агрегационных запросов) - то можно как раз на этих остатках и хранить версию/таймштамп.
У меня как раз висит подобная задача, нужно будет ради интереса спроектировать ее с таким механизмом.
(deleted comment)

[identity profile] metaclass.livejournal.com 2009-05-01 02:36 pm (UTC)(link)
А, точно, нежелательно ж нарушить инвариант на любой момент учетного периода.