Firebird 2.0 (и по-конкретно новия архивиращ инструмент Nbackup) предлага интересна опция - архивиране на "нива".
Това ще рече, че ако е направен архив от ниво 2, архив 3 ще съдържа само информацията от последния архив с ниво 2 до момента на архива. При малки бази това не би дало ефект, но при по-големи би могло архив ниво 2 да се прави на няколко часа, а ниво 3 на всеки 5-10 минути (процедурата би съдържала до няколко стотин записа, което няма да натежи на сървъра по никакъв начин). Дори да не се използва толкова често, все пак е удобство.
Естествено има и ограничения (нищо не е идеално ...) :
- Базите няма да се "сбиват" и "почистват" при архивиране
- Не може да прави "преносими" архиви
- Не може да архивира бази с >1 файл (за сега ...)
- Не може да архивира база, която не е на локалната машина (което отчитам като основен проблем )
Идеята на темата обаче е мааалко по-различна от просто информиране за тази опция.
FIBS работи с Gbak и няма проблеми с firebird 2.0 (опитвал съм и backup и restore) и е open source delphi проект, но в момента има достатъчно задачи с по-висок приоритет и няма как да се "донапише" новия метод на работа.
Бих могъл да напиша инструмент с идентична функционалност (притесняват ме вградените smtp и компресия, но и двете могат да бъдат постигнати в обозримо бъдеще или просто да се ползват като външни услуги), като мисля да притежата интерфейс по-близък до Arc2 и да включа каквото още се сетя по пътя.
Ще помоля всички, които евентуално ще подкрепят проекта да дадат идеи какво и как трябва да се съдържа.
ПС Ако няма смисъл просто ще продължа по пътя на успеха (споделям виждането на Чърчил по проблема ).
Firebird release notes написа:NBackup
The functional responsibilities of NBackup are
1. to provide a convenient way to issue ALTER DATABASE BEGIN/END BACKUP
2. to fix up the database after filesystem copy (physically change nbak_state_diff to
nbak_state_normal in the database header)
3. to create and restore incremental backups.
Incremental backups are multi-level. That means if you do a Level 2 backup every day and a Level 3 backup
every hour, each Level 3 backup contains all pages changed from the beginning of the day till the hour
when the Level 3 backup is made.