Subject Re: [firebird-support] GBAK size limit question (again, sorry), also BLOB questions
Author Artur Anjos
Hi Johannes,

> From what I
> understand, GBAK updates the database itself (rather than the files
> that make up the database), is that correct ?

GBak can do garbage collect, if this is what you are talking about. But Gbak
only does what you told him to do. Gbak creates a backup file, I don't
understand what you are talking to with "updates the database itself".

> So then, on NTFS on Win NT4 or Win2k, what is the largest database
> that I can back up ?

You can backup any database of any size.
This backup will be in one file, if the operating system can support his
size, or should be splited in many files, acording to maximum size. I don't
remember the maximum size of a file in NT4 and W2K, but you will pick this
info in google for sure.

> Another question, about BLOBs: I'm storing BLOBs as big as 120 MB per
> row. Am I insane ?
Sometimes I have the some doubt about myself, but never related with Blob
sizes. :-)

Some people will tell you that it will be ok, other's the oposite. There is
no tech problem to have such a BLOB, the argument to keep the blob outside
the database and just keep a pointer to it inside it's very simple: Blob
data with that size don't change too much, so it will be easy to backup this
kind of database if you keep it outside the database. Get it? This way, it
will be easy (and faster) to backup the database, and it will be possible to
do incremental backups on the external files. But you will find some good
reasons to keep it inside the database too.

> When I update the record (but not the blob) does
> it still create (on disk) a completly new record with a copy of the
> blob (And the old record is garbage-collected in the next sweep) ?
I don't think so. What Firebird keeps is a pointer to the BLOB, so if you
don't change that, there's no reason to update the blob pages. It's easy for
you to test this: just create something with a big blob, udate it, and watch
the file size.

> When using the JDBC driver (...snip...)
I can't help you here. Firebird-java list is the place to this question.