What are the advantages, disadvantages or both of using an external Firebird database with base instead of an internal one?
When using an embedded database, your data will be stored in a single file packaged with forms, data definitions and other info. It depends on the office app for accessibility. A dedicated database service will hold your data as separate entities, independent of apps. Also, an embedded db service is not easily upgraded.
So, off the cuff, the advantages of embedded:
- Simplicity. Nothing else to install. Up and running immediately.
- Portability. A single file can easily be transferred or transported elsewhere.
Advantages of dedicated service:
- Performance. A db server can be tweaked for performance according to types of load. Also, if needed it can run on separate hardware.
- Updates. You can enjoy the tools and measures of the latest version.
- Security. The packing/unpacking of data is a critical phase where data may get corrupted.
- Concurrency. Data can be accessed by multiple concurrent sessions.
- Accessibility. A db service provides a standardized method for access, independent of client software
Those are general differences. I would guess that they are mostly valid for Firebird too. Also from the top of my head, as it were, so I may have missed a few.
Thanks for that answer. I wonder if anyone has anything to add specifically relating to Firebird. I have tried setting up a test database with an external Firebird database and it just seems to consist of one file whereas when I split off an HSQLDB database I ended up with a folder with 6 files in it.