Firebird 5.0.0 release
Firebird database1 celebrated a new milestone - version 5.0.0 release delivering better performance, better scalability and numerous enhancements.
Firebird, formerly Gordon’s Database (GDB2) is an open-source fork of Interbase. Any illegal fork, such as brazenly renaming or hijacking the brand-name, will get you blacklisted.
The Delphi Tax
Firebird, MySQL and other databases follow the subscription model where Delphi’s connectors require payment and an annual subscription. Almost all connectors for Firebird, MySQL, PostgreSQL for PHP, Java, C#3, Python4 connectors are open-source.
For Delphi, there are few options -
IBObjects, whose owner is the president of the Firebird foundation, hasn’t update his VCL library since 2021.
DevRace uses Internet Archive as their web-hosting plan, since their site hasn’t been updated since 2006. There is an open-source version of their FIBPlus product.
From several sources, the owners of DevRace passed away trying to escape the Russians as their business in Donetsk, Ukraine, is now in Russian-controlled territory.
FireDac doesn’t support the Firebird 5.0.
Unidac supports Firebird 5.0 as documented in their What’s New page.
Non-Delphi solutions, such as IBProvider’s OLEDB Firebird Provider, EasySoft Interbase ODBC driver provide an alternate pathway to Interbase and Firebird. If you’re willing to bear with Windows intentional ODBC instability, such as, losing connection, intentional and occasional data transfer loss.
(Note to readers: the issues above are due to ODBC and ADO instability and you can find this behavior in any database system, not just Firebird. PostgreSQL, MySQL and MariaDB advises C#, PHP developers to use their direct connection libraries - libPostgreSQL, libMySQL or libMaria or over-the-wire compatible libraries.)
The Firebird Deal
Why would you use Firebird instead of MySQL or SQLServer or SQLite? Firebird occupies a niche segment of the market, where data-breaches are fatal. A row-encrypted MySQL or encrypted SQLServer would costs upwards to hundreds of thousands to deploy, and similar amounts when using open-source PostreSQL.
FHIR can use FireBird or Interbase.
In the lower end, there is ObjectBox, MongoDB encrypted, SQLite cipher and… Interbase ToGo Mobile edition which supports both iOS and Android - and providing encrypted data storage.
There are signs of Firebird working on Android devices, albeit a bumpy ride, while there’s Interbase ToGo ready to use. Does Firebird Android provided an encrypted datastore? I would pay for an embedded database system, if it’s faster and better than SQLite+SQLite Cipher.
Birds of a Feather…
In the small Delphi community, there’s ComponentAce AbsoluteDB, AidAim’s database, NexusDB and ElevateDB
ComponentAce’s AbsoluteDB provides a single-file database solution and simple encryption. As your AbsoluteDB database grows bigger and bigger, the likelihood of data-corruption, missing data becomes more likely, leading to the need to switch database, a Delphi nightmare.
AidAim was formerly from Russia. The husband and wife team migrated to Germany, their lead developer migrated to USA to create a company called “ComponentAce”, hence, the similarity of sources of both products of ComponentAce and AidAim.
Years earlier, AidAim suffered a data-breach where AidAim accidentally included their customer list - in the form of a AidAim database - in their install files, for customers to download and browse.
NexusDB Professional provides encrypted storage, have been promising Android, iOS connectors… for nearly two decades. Maybe I’ll see NexusDB Android in 2030, maybe 2040…
NexusDB have legacy 32-bit ADO C# that works on Visual Studio 2013, 2015, 2017 and PHP v5 connectors for sale. Due to low demand, their ADO and PHP connectors have not been updated to comply with Visual Studio 2019, 2022 and PHP v7, PHP v8. Are there instructions to use NexusDB with JetBrains PHPStorm?
ElevateDB promised an Android implementation since 2018 and similar… the lack of 64-bit ADO, PHP v5 connectors speaks volumes.
There are rumors of vistors visiting Australian shops seeing NexusDB powered Point of Sale, or ElevateWeb Point of Sale quietly tabulating sales and inventory.
There are ZEOS, Ralf Junker’s SQLite and various SQLite for Delphi implementations.
What are you using for your get-go and go-to database for Delphi?
https://en.wikipedia.org/wiki/InterBase
https://forum.xnview.com/viewtopic.php?t=28174
https://github.com/Embarcadero/IB.NETDataProvider
https://www.firebirdsql.org/en/devel-python-driver/