This is a basic comparison of embedded Firebird 1.5 and Microsoft SQL Server 2005 Express. Remember that it compares the embedded version of Firebird which doesn't run as a separate service but is fully embedded in the application. I plan to come with a server-server comparison in some of the future posts.
To summarize: Embedded Firebird is a clear win when you need a fully embedded database that users are not aware of. 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 SQL Express 36 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.