Hello, Alexey!
Alexey Popov wrote:
Можно, можно извернуться и наигать интернационал ложками. Но задача в
общем случае широко растространённая. Когда большой поток данных идёт.
Тут два решения: либо не удалять вовсе, либо удалять. Задач таких много:
билинг, датчики и т.п. Это мы знаем что есть такие грабли, но новички
всегда будут наступать на них.
в данном случае - именно интернационал ложками. Биллинги и датчики
делаются и без нашего этого обсуждения, кстати.
А вот в данном случае - не покатило. Не принижая достоинств FB
и версионного движка вообще, заявляю, что для прямого решения задач
биллинга, или вернее, "прокачивания" временной информации через базу,
вресионный движок НЕ ПОДХОДИТ.
У него другие задачи. Которые он успешно решает. И которые не решает
например безтранзакционный MySQL, DBF, и иже с ними.
Если бы одной архитектурой можно было бы решить ВСЕ задачи,
то она бы и была ОДНА. А так - их несколько.
Например, почему MS SQL, введя версионность в версии 2005,
тем не менее не убрал блокировочную архитектуру?
Почему у PostgreSQL до недавних пор мусор можно было собирать
только в монопольном режиме?
Есть-ли вообще в версионных движках механизм "массового удаления
без версионности", и как он реализован?
Похожих вопросов можно накидать еще много.
Пока (!) ситуация следующая:
1. автор вопроса сумел по крайней мере временно преодолеть
проблемы с производительностью, при помощи "коллективного разума".
2. автор вопроса, тем не менее, планирует уйти с ФБ в перспективе,
и я его в этом понимаю. Там где появляется 1 гиг за интервал времени,
может скоро стать и 2 и 10.
И, исходя из пункта 2, и вышеизложенного, я не вижу глобальной
проблемы, по которой надо версионный движок комбинировать с
блокировочным. Идеи "безверсионных" таблиц для IB/FB, по-моему
витают уже много лет (~10?). Но, если у MS SQL без версионности
все было хорошо, зачем он ее внедрил??? Очевидно, решать
задачи того типа, которые на блокировочнике работают хуже, чем
на версионнике. Я неправ?
--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34