20.04.2013 21:24, Nikolay Samofatov wrote:
> Hello, All!
>
> We use NBACKUP for physical replication of the databases. For that we added 2
> features:
>
> 1) We only read one sector (with header) of each page when scanning for
> changes. This is helpful for
> SSD media and might provide 4x-32x speed up.
> This is probably not important for FB3, as it will have SCN pages,
Agree
> but is very useful optimization for 2.X ODS.
For non-HDD drives - certainly.
> 2) We added option into NBACKUP utility to create change set based on
> baseline GUID rather than level.
>
> -B <level>|<GUID> <database> [<filename>] Create incremental backup
>
> This is the same GUID that is displayed in GSTAT output:
>
> Database backup GUID: {35F5915A-4A62-4A27-AD91-6FB0EBDCCF11}
I don't think it is user-friendly to set GUID in command-line, but i can't
offer alternative right now...
> To update offline copy of the database over WAN we use the following
> procedure in a shall script:
> - obtain baseline GUID of the database using GSTAT -h
> - pull changes using SSH+NBACKUP using baseline GUID
What is the file format where changes are stored ?
> - if pull is successful apply changes to a local copy
How changes are applied ?
> - if incremental pull fails get clean copy of the database using "NBACKUP -B
> 0", CAT and DD (we have
> implemented download resume in a shall script)
>
> Pull might fail if baseline with given GUID doesn't exist in the database (it
> was restored from gbak
> backup, etc).
>
> This idea of using nbackup for exact this purpose was in the original design,
> data formats, etc
> although it was never completed. Changes do not affect engine code.
>
> If there are no objections to this design I will ask Dmitry Starodubov to
> port this code to FB3 and
> submit a patch for integration.
No principal objections from me. But i would like to have answers about
changes first.
And it will be good to make procedure more user-friendly, i think.
Regards,
Vlad
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel