PhoenixVault wide

What is PhoenixVault

In short, PhoenixVault is a Firebird 5 client and embedded engine with built-in encryption for local databases. It is specifically designed for all applications that need to secure data stored on a local computer. The main features of the product are:

  • easy integration with user applications
  • secure database encryption without the need for complicated encryption key management
  • ability to link encryption keys to user licenses

Note

PhoenixVault also works as a normal client for remote Firebird 5 servers.

Use cases for PhoenixVault

Using a secure embedded engine is certainly suitable for all single-user applications. You can also create a personal version of an application that is otherwise intended for simultaneous work by multiple users, essentially "for free". But there are other possible scenarios in which an embedded engine can be invaluable.

Web-based multiuser applications

Web technologies are no longer just the domain of the Internet or corporate networks, but also of personal computers. You can easily create and deploy a web application on a network, as well as on a workstation, and it can be used by multiple users or just one.

Using an embedded engine within a web application has the fundamental advantage of very low latency and overhead for data transfer between the database and the application. The safety of multithreading, and the ability to create multiple connections and transactions within a single connection make embedded Firebird a very attractive solution for web application data storage.

Local-first applications

Local-first applications treat the data stored on a user's device as the primary copy, enabling them to work offline and experience faster responses due to the absence of network delays. While cloud-based servers act as secondary copies for synchronization and backup, the core operations occur locally, making the applications resilient to outages and giving users more control and ownership over their data. This architecture provides a superior user experience through speed, seamless offline functionality, and built-in collaboration, while also benefiting developers by simplifying network state management.

Using embedded Firebird as a local data store has a number of advantages, regardless of whether Firebird is also used as a central data store or not. The main problem (and not only) with this type of application is the synchronization of changes between the local and central storage. Firebird since version 3 offers an elegant solution to this problem, which we will introduce in more detail later.

Embedded as local data cache

The article "Challenges with Primary Keys" published in EmberWings 2024/03 highlighted the fundamental problem of artificial primary keys - the need to retrieve data from linked tables, because the value of the foreign key cannot be displayed to the user (or used for selection). The consequence is increased query complexity (number of additional table joins) with all the consequences for performance.

With the help of Firebird embedded, it is possible to relatively easily implement a local cache for data from these tables, which allows to:

  1. Load the necessary data for display from the referenced tables from the local database, which eliminates the need to join this table in the query.
  2. To filter data using values ​​from these tables, a local query is used to obtain the primary keys of records with the required values, which can then be used directly in the query to the master table, which eliminates the need for a join in this case as well.

Similar to the previous case, the key problem is (in this case, one-way) updating of data in the local database from the central storage.

Field workers

This is a hybrid case of the previous two scenarios. Many enterprise applications that are in principle designed for simultaneous work of multiple users also need to cover a special category of users who require access to all or a significant part of the data available in the central database, but at the same time they usually move in an environment that does not allow reliable and efficient work with the central application. Typical examples are, for example, field inspectors (pipelines, buildings, electrical wiring, etc.), business travelers, insurance agents resolving insurance claims on site, doctors on the go, etc.

As you can see, Firebird embedded finds its application in a wide range of practical solutions. Some tasks cannot even be easily implemented without its use.

Availability

PhoenixVault is undergoing final testing and will be available in Q4 2025 for 64-bit Windows applications.