Search code examples
delphifirebird-embedded

Does Firebird 3 embedded server have major disadvantages?


Are there major disadvantages using the embedded Firebird 3 in a multi-user application server (Delphi Webbroker) instead of the full blown server install?

The application usually has very short transactions with low data volume.

As far as I am informed accessing one database file with multiple threads through the embedded server is not problematic but user security is not available. As the application server does the rights stuff I do not need Firebird security.

But will I loose performance or things like garbage collection?


Solution

  • Firebird Embedded provides all the features (except network access and authentication) that a normal Firebird server provides. However, because it is in-process, any problems that cause your application to crash, will take Firebird with it and vice versa.

    Other possible downsides:

    • Garbage collection will - as far as I know - always use the 'cooperative' model (where the connection to find old record versions, is the one that cleans it up),
    • You can't use other tools to access your database remotely which may make administration harder,
    • You can't put your database on a separate server from your web application (think of security requirements).

    Personally, I would only choose Firebird Embedded if the situation calls for it. In all other situations, I will use Firebird Server.