Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture |
Table of Contents
Firebird Vulcan supports database access in several modes, including a multi-user shared server like SuperServer, a process based parallel architecture like Classic, and a single process local attachment like embedded. The mode of access is determined at runtime by the configuration file settings.
The Firebird Vulcan server is a process that accepts network connections and converts the requests conveyed in the network protocol to Firebird API calls. All database access goes through a thin primary shared library known as the Y-Valve to an open-ended set of data providers.
If the configuration file specifies that the database is not shared, network access to that database is equivalent to SuperServer. All connections share a single buffer pool. If the configuration file specifies database sharing, local access is similar to Classic, with any number of processes, each with a private buffer pool, synchronized by an external lock manager.
If remote access is enabled on a database that allows sharing, Firebird Vulcan runs in hybrid mode. Remote clients access the database through a multi-client, multi-threaded server with a shared buffer pool that shares the file with other local processes that maintain private buffer pools, all synchronized by the lock manager.
With no server and database sharing disallowed, Firebird Vulcan runs in Embedded mode.
The primary library, firebird.dll or libfirebird.so, is called the "Y-valve" or "dispatch module". It implements all user visible API entrypoints but does not perform any data management services itself. It loads and invokes other libraries called providers to do the actual work.
All programs that access a Firebird Vulcan database do so through the Y-valve. There is no separate client library, classic library, or embedded library.
When the client asks for a database, the dispatch module finds engine, interface, gateway, or server that supports the requested database, whether local, remote, or even a different architecture.
In the configuration system, the Y-valve is a provider called dispatch.
Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture |