Firebird Documentation Index → Firebird 1.5 Quick Start → Classic or Superserver? |
Firebird comes in two flavors, called architectures: Classic Server and Superserver. Which one should you install? That depends on your situation. A short overview of the most important differences follows.
Table 1. Firebird 1.5 Classic Server vs. Superserver
Classic Server |
Superserver |
---|---|
On Linux: fully mature. On Windows: fully mature as from version 1.5.1. |
Fully mature on both Windows and Linux. |
Creates a separate process for every client connection, each with its own cache. Less resource use if the number of connections is low. |
A single process serves all the connections, using threads to handle requests. Shared cache space. More efficient if the number of simultaneous connections grows. |
Permits fast, direct I/O to database files for local connections on Linux.
On Windows, you must make local connections network-style, by connecting to |
On Linux, local connections are made network-style, via |
1.5: Partially implemented Services Manager, supporting tasks like backup/restore, database shutdown etc. over the network. Other service tasks have to be performed locally using the client tools (small separate executables) that come with Firebird. 1.5.1 and up: full Services Manager. |
Full Services Manager allows you to perform management tasks (backup/restore, database shutdown, user management, stats, etc.) programmatically. You can connect to the Services Manager over the network and thus perform these tasks remotely. |
SMP (symmetrical multi-processor) support. Better performance in case of a small number of multiple connections that do not influence each other. |
No SMP support. On multi-processor Windows machines, performance can even
drop dramatically as the OS switches the process between CPUs. To prevent this, set the
|
Can't use Fiebird events if the server is behind a firewall or if connections are made through a secure tunnel. |
Can use Fiebird events under all circumstances. If the server is behind a
firewall or if connections are made through a secure tunnel, a specific events port has
to be assigned to the |
As you can see, neither of the architectures is better in all respects. This is hardly surprising: we wouldn't maintain two architectures if one of them was an all-fronts loser.
If you're still not sure what to choose (maybe you find all this tech talk a little overwhelming), use this rule of thumb:
On Windows, choose Superserver.
On Linux, just pick one or the other. In most circumstances, chances are that you won't notice a performance difference.
Note that you can always switch to the other architecture later; your applications and databases will keep functioning (except if your apps call unsupported or malfunctioning Services Manager functions in Classic).
For Linux, Superserver download packages start with FirebirdSS
, Classic
packages with FirebirdCS
. For Windows, there is a combined installation
package; you choose the architecture during the installation process.
We've not been completely honest with you. Firebird has a third flavor: Embedded Server, but this is an entirely different beast and not intended for your typical client-server setups. Consult the Release Notes for details.
Firebird Documentation Index → Firebird 1.5 Quick Start → Classic or Superserver? |