Firebird kommt in vier Architekturen: Classic Server, Superserver, SuperClassic Architektur und Embedded. Welche sollten Sie installieren? Das hängt von Ihren Anforderungen ab. Hier einen kurzen Überblick über die wichtigsten Unterschiede.

SuperServer
Die SuperServer-Variante ist ein Multithreaded Server-Prozess. Der SuperServer verwaltet alle Benutzeranfragen und Verbindungen mittels voneinander unabhängigen Threads innerhalb eines Prozesses. So wird zum Beispiel ein gemeinsamer Cache pro Datenbank verwendet, d.h. der Ressourcenverbrauch ist beim SuperServer in der Regel geringer als beim Classic Server, jedoch besitzt der SuperServer derweil noch den Nachteil, dass dieser nicht SMP/HT-tauglich ist, d.h. wenn Sie den Nutzen aus mehreren CPUs ziehen möchten, dann ist der SuperServer die falsche Wahl.

ClassicServer
Mit dem ClassicServer werden alle Verbindungen in getrennten Prozessen verwaltet. Jeder Prozess verwaltet dabei seinen eigenen Datenbank-Cache. Durch die Trennung nach Prozessen eignet sich der ClassicServer gut für Multiprozessor-Umgebungen und ist SMP/HT-tauglich. Dem OS wird überlassen wie die unterschiedlichen Prozesse (sprich Datenbankverbindungen) auf mehrere (logische) CPUs aufgeteilt werden. Gerade in einer Umgebung mit sehr vielen aktiven Verbindungen ist der Classic Server besser skalierbar, sprich man kann z.B. eine sehr ressourcenintensive Abfrage ausführen, ohne damit die anderen Verbindungen erheblich zu blockieren. Er verbraucht allerdings mehr Arbeitsspeicher. Das schöne an der Sache ist, dass man z.B. mit dem SuperServer anfangen kann, und später zum Classic Server migrieren kann, ohne dass man z.B. an der Datenbankdatei etwas ändern muss. Einfach SuperServer deinstallieren, und Classic Server installieren. Wenn man die Newsgroups verfolgt, dann verwendet eigentlich jeder (inklusive die Entwickler), der ein etwas größeren System mit Firebird unter Linux oder Windows verwendet, die Classic Architektur bevorzugt, diese zwar ressourcenintensiver ist (aber was kostet heute schon noch der Hauptspeicher), weil diese einfach besser skalierbar ist.

SuperClassic Architektur
(neu in Version 2.5) Wahrscheinlich die bedeutendste Neuerung in Firebird 2.5 ist die SuperClassic Architektur, die eine Kombination aus Super- und Classicserver darstellt, um die Unterstützung von Mehrprozessorsystemen (SMP) zu verbessern. Die neue Architektur kann wie folgt charakterisiert werden:

  • Ein dedizierter Serverprozess unter Windows bzw. unter POSIX) für alle Verbindungen (identisch zu Superserver).
  • Privater Page- und Metadaten-Cachhe. Das impliziert die identische Berechnung der maximalen Hauptspeichernutzung für das Caching wie bei Classic Server.
  • SMP-Fähigkeit für simultane Verbindungen zu einer und mehreren Datenbanken.
  • SMP-Fähigkeit bei Sweeps und Services-API-Requests.
  • Kein exklusiver Lock auf die Datenbankdatei (identisch zu Classic Server).
  • Gecachte Verbindung zur Benutzerdatenbank für einen schnelleren Verbindungsaufbau (identisch zu Superserver).
  • Sicherer Shutdown aller Datenbankverbindungen durch Beenden des dezidierten Serverprozesses (identisch zu Superserver).
  • Automatisches Beenden aller Datenbankverbindungen beim Crash des Serverprozesses (identisch zu Superserver – ein Nachteil).
  • Zielplattform: Natürlich unter 32-Bit lauffähig, allerdings erscheint der Einsatz unter 64-Bit sinnvoller, da hier keine Limitierung in Bezug auf die maximale Hauptspeicheradressierung pro Prozess existiert (identisch zu Superserver).
  • Performance-Verbesserungen von bis 3 Minuten beim Tabellen-aufbau in den Monatsrechnungen in WEBFAKT, getestet wurde mit einem Datenbestand von 49.000 Kunden, 52.300 Domains, 18.600 Speicherplätzen und 54.700 Dienstleistungen. Plattform Windows 64-Bit

Zur Installation-/Aktivierung der SuperClassic Architektur wählen Sie im Firebird Installationsprogramm folgendes aus:
Komponenten auswählen
danach
Zusätzliche Aufgaben auswählen

Embedded
Mit der Embedded-Variante ist es möglich, einer einzelnen Applikation exklusiven Zugriff auf eine Datenbank zu ermöglichen. Diese Servervariante eignet sich sehr gut für Einzelanwendungen, die mit einer eigenen Datenbank laufen und keinen Mehrbenutzermodus benötigen. Die Embedded-Version benötigt keine Installation und hat ausschließlich nur eine Programmbibliothek für die verfügbaren Plattformen.