Subject Re: [firebird-support] Stripping Down Firebird Classic Server
Author Helen Borrie
At 03:43 PM 17/09/2007, you wrote:
>Hello.
>
>I've been trying to strip down Firebird Classic Server FirebirdCS-
>2.0.1.1.12855-0.i686.tar.gz because the deployment server requires
>me to have minimal installation (preferably 5MB; much lesser the
>better). After removing directories such as examples, help, and doc,
>I came up with around 10-11MB (including xinetd).

xinetd is big. You don't need it if you use Superserver.


>I am still trying to reduce the installation size so I have the
>following questions:
>
>1. Is there a tar file which I can download for minimal installation?

No. But you can omit all the command-line tools if they are not
going to be used.


>2. Under the lib directory, can I remove libfbembed.so (2.4MB big)?
>I will be using Firebird in a client/server env and not for embedded.

Yes.


>3. Is there any documentation on the purpose of each installed files
>(so that I can check if it's okay for me to remove it in the
>installation)?

Release notes v.1.0 has all of that. Note, you should be using all
of the latest-version release notes as a cumulative reference.

>4. If there are at most 5 concurrent clients, is Firebird classic
>advisable?

It's OK but Superserver will use your resources more economically for
that small number of clients.

>5. In one of my previous emails, it was mentioned that database
>files won't get smaller if I delete records. If for example I have
>10MB of db file (just an example) and I delete 100 records, the the
>db dile will still be 10MB right? If I insert 100 records later,
>will the db file size still increase or remain at 10MB? Will it not
>occupy the space of the 100 records that was deleted previously?

Overall, yes. But the "free space" created after deletes have been
garbage-collected and released comes in two different flavours:

1. Free space made available on pages that having surviving records
stored for that table....that space can be used only for new
recversions for that table.

2. Free pages made available when the last record has been deleted
from that page. In that case, it becomes available as an "empty
page". In that case, the page is not tied to any data that were
stored there previously and might be used for anything: a different
table, index levels, blobs, etc.

Honestly I can't imagine what kind of real-life multi-user database
service you can provide if you have a maximum of 5 Mb of disk space
total, non-extendable, for both database server and database. The
server uses disk for other things besides storage, e.g. it will write
the intermediate sort files to disk when it doesn't have enough RAM
to create the whole sort file there. The log file could grow quite
large if neglected, or even if the network is having a bad day. And
what are you intending to do about backups?

./hb