Firebird Documentation IndexFirebird Vulcan Release Notes v. 1.1 → Firebird Vulcan Release Notes
Firebird Home Firebird Home Prev: Firebird Vulcan Release Notes v. 1.1Firebird Documentation IndexUp: Firebird Vulcan Release Notes v. 1.1Next: Getting Started

Firebird Vulcan Release Notes

Table of Contents

Overview of Firebird Vulcan

Overview of Firebird Vulcan

Getting Started

If you prefer to jump in to Firebird Vulcan and figure out what it's about later, see the Getting Started section.

Firebird Vulcan started as a sponsored branch of Firebird between V1.5 and V2.0. It includes some but not all Firebird 2.0 features and shares a common On Disk Structure (ODS) with Firebird 2.0. The specific needs of one customer set Firebird Vulcan's original goals but, in the process of development, several other opportunities appeared.

Project Goals

Firebird Vulcan's original sponsor had four primary goals.-

SMP performance

On a four-processor SMP box, Firebird Vulcan benchmarks up to about 3.5 times the speed of a single-processor system on cache intensive benchmarks. See the SMP section.

Portability

Firebird Vulcan was developed simultaneously on four platforms:

  • 32-bit Windows using the Microsoft compiler from Visual Studio 7

  • 32 bit Linux for AMD64/Opteron using various versions of gcc

  • 64 bit Linux for AMD64/Opteron using various versions of gcc

  • 64 bit Solaris using the Sun Forte C++ compiler

Ports exist to 64-bit MVS UNIX, Itanium, and AIX. See the Portability section.

Single processor performance

tests on Win32 demonstrate some performance improvement over Firebird 1.5. See the Performance section.

Upward compatibility

programs written for Firebird 1.5 work unchanged on Firebird Vulcan, and Firebird Vulcan includes many Firebird 2.0 features. See Compatbility and Portability.

Other Features of Firebird Vulcan

Process Architecture

Firebird has three different architectures: SuperServer, classic, and embedded. The different architectures are implemented as conditional compilations of the same code base. SuperServer is identical on all platforms. Classic and embedded have different characteristics on Windows than on other platforms.

Firebird Vulcan refactors the code base so the three architectures are supported by separating the common elements--engine, server, remote interface, external API--and recombining them in different configurations, rather than conditional compilation.

The configurations behave the same way on all platforms, and can be mixed on a single platform.

For more information see the Process Architecture chapter.

Configuration Files

Firebird Vulcan controls the way databases are accessed through cascading configuration files. The configuration files are upward compatible from the Firebird configuration file, but have significant new capabilities. For more information see the Configuration Files section.

User Authentication

Firebird Vulcan configuration files can specify a per-database source for authentication information. Firebird Vulcan also adds SQL statements to create, update, and drop users. For more information see the User Authentication section.

SQL Integration

Firebird Vulcan moves DSQL from outside the engine to inside, making it more efficient, and eliminating duplicate metadata representation. For more information see the SQL Integration section.

Lock Manager

Since Firebird Vulcan runs only on platforms that support threading, options in the lock manager for other forms of interprocess communication have been dropped. See the Lock Management section.

Call tracing

The Firebird Vulcan dispatch module can print a session log. The contents of the log are controlled with configuration file parameters. The options are tracing calls, tracing results, or tracing SQL statements. See the Configuration Files section for more information.

Firebird Vulcan Internals

Most of the changes to Firebird Vulcan are internal. Their effect on performance and reliability can be measured by client applications, but they don't change the API or other user interfaces. See the Firebird Vulcan Internals section for more information.

Garbage Collect Thread

Firebird 1.5 uses a separate thread for garbage collection when compiled as SuperServer. Firebird 2.0 uses cooperative garbage collection or a garbage collect thread, or both. The choice is controlled by a configuration option.

Firebird Vulcan uses only cooperative garbage collection.

Configurable Security Managers

Different organizations require different levels of user authorization. Firebird Vulcan provides a path to the resolution of this requirement and one implementation of it. For more information see the Configurable Security Managers section.

Prev: Firebird Vulcan Release Notes v. 1.1Firebird Documentation IndexUp: Firebird Vulcan Release Notes v. 1.1Next: Getting Started
Firebird Documentation IndexFirebird Vulcan Release Notes v. 1.1 → Firebird Vulcan Release Notes