Hello developers! This is the second blog post of a series that introduces the InterBase multiplatform database to .NET developers. The first post, Introducing InterBase for .NET – A Super-Secure Embedded Data Warehouse For .NET Users can be found here, and today we are going to discuss the installation and configuration process for the InterBase database engine.
Table of Contents
What Needs to be Installed?
To answer this question we need to first define which edition we are going to work with. You can refer to the first post to learn more about the existing editions of IB, but I will do a recap here. These are the existing InterBase 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 purposes only
So, from this list, the editions that require a “formal” installation are the Server, Desktop and Developer. The other two (IBLite/IBToGo) are embedded engines and can be deployed via a simple copy/paste process.
I will cover the installation process for the Server edition in the video below, but honestly it’s just a matter of Next-Next-Finish with few options to choose between – you can use the default values that are suggested by the installer in the majority situations.
What Needs to be Configured?
Directly to the point: InterBase, in general, requires no additional administration.
But of course, as a flexible solution, there are some significant parameters that can be modified to achieve certain end user needs. Some of these parameters can be dedicated to one platform in particular and others will apply to all InterBase supported platforms.
This link below gives you a complete view of all parameters and configurations that are available. I will not review each to of them here but want to emphasize one or two that can be relevant in some cases: https://docwiki.embarcadero.com/InterBase/2020/en/Configuring_Parameters_in_ibconfig
- CPU_AFFINITY: InterBase is a full SMP (Symmetric Multi-Processor) system, meaning the database engine will use all the processors that are available in the machine, and this is the default configuration. But, if for some specific reason, you need to reduce the number or cores used by the engine, or maybe determine one processor in particular to be used by the database, this parameter is the one that allows you to achieve this. More details here: https://docwiki.embarcadero.com/InterBase/2020/en/SMP_Support
- CONNECTION_TIMEOUT: This can be useful in certain situations to allow the engine to wait some additional time before concluding an attempt to connect has failed. The default value is 180 seconds.
As a enterprise level database, InterBase offers everything you need to properly keep your data safe, without the need of external add-ons or expensive backup solutions. InterBase has built-in support for full and incremental backup model, as well for the journaling archive and point in time recover process.
Doing a backup is an easy task and can be executed when the database is online and being used in normal operation without compromising the backup integrity. There is a command line utility called gbak that is perfect for using in an automated backup process, as well as a visual option inside the IBConsole, the default database utility that is part of a default InterBase installation.
The journaling process in turn can be initiated via normal DDL or using the IBConsole visual interface as well.
These two topics are on schedule to be covered in depth in future posts from this blog, so for the moment I will point you to the backup and journaling operational guides. They are very detailed and a very good starting point: https://docwiki.embarcadero.com/InterBase/2020/en/Database_Backup_and_Restore and https://docwiki.embarcadero.com/InterBase/2020/en/Journaling_and_Disaster_Recovery
Installation Process And Creating Your First Database