This is a basic comparison of Firebird 1.5 and Microsoft MSDE 2000 that stresses the advantages of Firebird. The whole matter is not so simple, especially when you are trying to compare Embedded Firebird (that is not a standalone server) and not Firebird Server. I'm going to expand this comparison later (and to bring a Firebird/SQL Express 2005 comparison as well).
|Feature||Embedded Firebird 1.5||Microsoft MSDE 2000|
|Deployment and Administration|
|Single database file||No|
|XCOPY data deployment||Details...|
|Hot backup (24x7 availability is possible)|
|Can run on Windows 98|
|Database file size limit||Unlimited***||2 GB|
|Multiple concurrent users||Limited**|
|Stored procedures and triggers|
|National character sets support (including sorting)|
|License allows use in commercial applications||Details...|
* Embedding. MSDE can be installed with the host application but it still is a separate server. You need to accept MSDE EULA before redistribution. Firebird can be installed as a server or can be used as as a part of the application (just a single DLL copied into the application directory that doesn't expose any TCP/IP or other interface to other applications).
** Multiple concurrent users. MSDE contains a workload governor which adds performance penalty when there are more than 5 concurrent connections working (NB working not just open).
*** Database file size limitation. Firebird is limited only by file system (e.g. 16+ TB on NTFS).
To summarize: Embedded Firebird is a clear win when you need a fully embedded database that users are not aware of. Comparing standalone Firebird server is a different story and we will come back to it later. The clear advantages of Embedded Firebird are:
- Licensing. You can't beat Firebird's open-source license that allows use in commercial applications without any viral effect (i.e. no need to open your proprietary code). Any kind of a "free redistribution" license is just too far from that.
- XCOPY Data Deployment. A Firebird database is a single file. Just copy it somewhere on disk and open it. Compress it and send it by e-mail. Use your own file extension and associate it with your application.
- XCOPY Runtime Deployment. Not only the data but the runtime (which is a single DLL and optional supporting files) can be just copied to your application's directory.
- Runtime size. Compare the MSDE 40+ MB download with the 2 MB Firebird runtime.
- No performance limitations. With Firebird you can have a database of any size and open multiple connections without any penalty.
- Real embedding. Users and administrators don't need to be aware that your application is using Embedded Firebird because it is only accessible from your application.