Hello everyone and welcome to InterBase RDBMS! This is the first blog post of a series that introduces the InterBase multiplatform database to .NET developers. The idea is to present InterBase to the .NET community, ranging from an overview of what InterBase is, installation and configuration, connecting to InterBase from .NET and how to deploy InterBase – not only in the client/server model, but also embedded in your app.
A Brief History
InterBase was one of the first enterprise-grade relational databases ever produced. Since its inception it is based on a superior versioning architecture still unmatched by many popular databases. It was also the first DBMS to implement Multi-Version Concurrency Control (MVCC). MVCC is referred to as Multi-Generational Architecture in InterBase.
To make a long story short, InterBase was invented in the 80s by Jim Starkey, than sold to the (famous by that time) dBase product owner Ashton-Tate, which in turn become part of Borland circa 91. Fast forward, the Borland dev tools division become part of Embarcadero in 2008, and – finally – Embarcadero become part of Idera Group in 2015, and here we are!
InterBase remains in continuous development since his inception, and each new release brings a set of new features, but always aligned with the mission to maintain 100% backward compatibility and provide no-friction migrations.
– Around the 2000s Borland decided to open-source the InterBase database, giving birth to Firebird, the open-source incarnation of InterBase 6.0. Right after that Borland made a turnaround and began releasing new commercial versions of InterBase. Today InterBase and Firebird are very different databases and not compatible between each other anymore, as InterBase introduced many new features that are not present in Firebird.
Below there is a table showing the InterBase versions after 6.x, as well the official support status for each one:
|InterBase 2020||December 2019|
|InterBase 2017||March 2017||December 2019|
|InterBase XE7||December 2014||June 2017||December 2019|
|InterBase XE3||September 2012||April 2015||March 2017|
|InterBase XE||September 2010||September 2013||December 2014|
|InterBase SMP 2009||September 2008||September 2010||September 2013|
|InterBase 2007||November 2006||November 2009||January 2013|
|InterBase 7.5||November 2003||December 2006||November 2008|
|InterBase 7.1||November 2002||December 2006||June 2007|
|InterBase 6.x||March 2001||December 2006||June 2007|
InterBase offers the following editions:
- IBLite = free/embedded with some limitations
- InterBase ToGo = embedded with no limitations
- InterBase Server = full client/server that scales up to 32 cores
- InterBase Desktop = similar features from the Server edition but localhost only
- InterBase Developer = free/similar features from the Server edition but for development only
Below you can see a comparison of the different editions available on InterBase.
|Attribute Description||IBLite||InterBase ToGo||InterBase Desktop||InterBase Server||InterBase Developer|
|Licensing of CPU Cores||1||4||4||8||8|
|Maximum simultaneous users||1||1||1||1 to Unlimited||20|
|Number of connections per user||1||8||8||4||4|
|Access local database from clients on remote systems|
|Connect to server hosting database on remote systems|
|TCP listening server|
|Strong (256bit AES) database and column encryption||No encryption||No Strong Encryption|
|Strong network (SSL) encryption||No encryption||No Strong Encryption|
|Able to import add-on licenses|
|Database file size limitation||100MB||No limit||No limit||No limit||No limit|
|Simultaneous Transactions per Connection||1||No limits||No limits||No limits||No limits|
|Services API Enabled|
|Metadata Updates (ddl operations)|
|External Table Access|