Firebird Documentation IndexFirebird Vulcan Release Notes v. 1.1 → Process Architecture
Firebird Home Firebird Home Prev: PortabilityFirebird Documentation IndexUp: Firebird Vulcan Release Notes v. 1.1Next: Providers

Process Architecture

Table of Contents

Y-valve
Providers
Servers
Configuration Files
Configurable Security Managers
SQL Integration
Performance
Lock Management
Firebird Vulcan Internals
Unfinished Work and Loose Ends

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.

Y-valve

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.

Prev: PortabilityFirebird Documentation IndexUp: Firebird Vulcan Release Notes v. 1.1Next: Providers
Firebird Documentation IndexFirebird Vulcan Release Notes v. 1.1 → Process Architecture