Firebird (Datenbank)

Firebird (Datenbank)
Firebird
Logo von Firebird
Entwickler Firebird-Entwickler-Team
Aktuelle Version 2.5.1
(4. Oktober 2011)
Betriebssystem Diverse Unixe u. a. AIX, Linux, Windows, Mac OS
Kategorie Datenbankverwaltungssystem
Lizenz IDPL (Variante der Mozilla Public License)
Deutschsprachig Ja
www.firebirdsql.org

Firebird ist ein freies Server-Programm und Teil eines Systems zum Betreiben von Datenbanken (DBMS). Es ist der freie Ableger des weiterhin kommerziell von Embarcadero (ehemals CodeGear, Borland) vertriebenen relationalen Datenbankmanagementsystems InterBase. Die Abspaltung erfolgte im Jahre 2000, als kurz vor Freigabe der Version 6 des kommerziellen Vorgängers Interbase bei Borland ernsthafte Überlegungen im Gange waren, die Weiterentwicklung einzustellen.

Aus Interbase 6.0 wurde Firebird 1.0, wobei dies als eine Bugfix-Version mit nur wenigen Erweiterungen angesehen werden kann. Eine Erweiterung von Firebird 1.0 ist der 64-Bit File I/O, so dass auch Datenbankdateien von mehr als 2 GB Größe erzeugt werden können.

Grundlegende Erweiterungen erfolgen im Firebird-2.0-Zweig. Der gesamte Quellcode von Interbase wurde aus der Sprache C nach C++ übersetzt. Ab Februar 2004 stand die erste Produktiv-Version aus dem Firebird 2.0-Zweig als Firebird 1.5 zur Verfügung. Im November 2006 wurde Firebird 2.0 freigegeben, im Oktober 2011 die derzeit aktuelle Version 2.5.1.

Grundsätzlich ist der Firebird-Server SQL-92-Entry-Level-1-konform. Firebird 1.5 folgt dem SQL-Standard nach ANSI SQL-99. Firebird 2.0 ist überwiegend konform mit SQL-2003 (17 obligatorische Fähigkeiten fehlen ganz, vor allem Schemata; 9 obligatorische Fähigkeiten werden nur teilweise unterstützt).

Inhaltsverzeichnis

Verfügbare Varianten des Firebird Datenbankserver-Programms

Die Firebird-Datenbank gibt es in drei Versionen mit unterschiedlichem Funktionsumfang. Es gibt die SuperServer-, ClassicServer- und EmbeddedServer-Variante. Nicht alle Varianten sind für alle Plattformen erhältlich.

SuperServer
Die SuperServer-Variante ist ein Multithreaded Server-Prozess. Der SuperServer verwaltet alle Benutzeranfragen und Verbindungen mittels von einander unabhängigen Threads innerhalb eines Prozesses. Unter Windows (ab NT4) kann der SuperServer als Dienst laufen oder generell auch als Applikation.
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. Er verbraucht allerdings mehr Arbeitsspeicher.
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.

32- und 64-bit-Unterstützung

Seit der Version 2.1.1 (September 2008) sind für Solaris[1] und seit der Version 2.1.3 vom September 2009 auch für Windows und Linux getrennte 32- und 64-bit-Versionen[2][3] verfügbar. Die FreeBSD- und AIX-Releases stehen noch auf dem 32-bit-Versionsstand 1.5, Firebird für HP-UX ist ebenfalls nur in einer 32-bit-Version 2.0.3 erschienen.

Administration von Firebird-Datenbanksystemen

Für den produktiven 24-Stunden-Betrieb erlaubt das mitgelieferte Backup-Programm (gbak) Online-Backups, ohne eine Datenbank herunterfahren zu müssen. Mit der aktuellen Version 2.0 sind nun auch inkrementelle Sicherungen möglich (nbackup).

Treiber für den Firebird Datenbankserver

Neben dem eigentlichen Datenbankserver gibt es mittlerweile auch Treiber und Bibliotheken für Delphi, Free Pascal, Perl, Python, ODBC, .NET, PHP, Qt, C++ und Java (als Typ2- und Typ4-JDBC-Treiber) für den Zugriff auf die Firebird-Datenbank.

Support kann entweder kostenlos über die Community oder über kommerzielle Angebote erfolgen.

Fähigkeiten von Firebird

Die Firebird-Datenbank beherrscht Gespeicherte Prozeduren mit einer Oracles PL/SQL ähnlichen Programmiersprache. Abfragen können ebenfalls gespeichert werden sowie Änderungen durchreichen. Kaskadierende Trigger für alle DML-Befehle und referentielle Integrität von Fremdschlüsseln werden angeboten. Alle Transaktionen sind vollständig ACID-kompatibel (Atomicity, Consistency, Isolation und Durability) und unterstützen Sicherungspunkte (Savepoints).

Der Server beherrscht unterschiedliche SQL-Dialekte, die individuell pro Datenbank festgelegt werden können. Abhängig von den Dialekten können zum Beispiel identifizierende Namen beliebige Zeichenketten mit Leerzeichen sein (quoted identifier) oder Namen, die Groß-/Kleinschreibung ignorieren (case insensitive identifier). Mit den unterschiedlichen Dialekten können Daten und Applikationen aus älteren Anwendungen besser migriert werden.

Jede individuelle Spalte einer Tabelle kann ein eigenes Character-Set und eine eigene Sortierung haben (zum Beispiel unabhängig der Groß-/Kleinschreibung). Unterstützt wird eine große Anzahl von vordefinierten 8-Bit-Zeichensätzen und einige Unicode-Varianten. Zusätzliche Zeichensätze und Sortierungen können implementiert werden, ohne etwas am Firebird-Programmquelltext oder dem compilierten Programmcode ändern zu müssen.

Die Server-Umgebung kann Nachrichten aus Triggern und Stored Procedures an Applikationen senden, soweit es die Treiber erlauben. So kann zum Beispiel die aktuelle Betaversion des Java JDBC-Treibers (2.1.0 beta1, Stand: 3. Mai 2006) solche Nachrichten empfangen. Einer Applikation ist es damit möglich auf getriggerte Datenbankänderungen direkt zu reagieren und einem Anwender entsprechende Hinweise zu geben.

Mittels UDFs (User Defined Functions) kann der Sprachumfang der wertverarbeitenden Funktionen erweitert werden. Allerdings müssen entsprechende plattformspezifische Bibliotheken erzeugt und eingebunden werden. In einem experimentellen Stadium befinden sich Embedded Functions, die sich wie Stored Procedures verhalten sollen, aber in beliebigen Programmiersprachen entwickelt werden können. So gibt es zur Zeit eine experimentelle Firebird-Version die Java-Methoden über eine im Server ausgeführte Java Virtual Machine einbinden kann.

Firebird verfügt über ein Eventsystem, mittels dessen Nachrichten an Clients verschickt werden können; ausgelöst werden diese über Trigger bzw. Prozeduren.

Für Datenbanken kann ausschließlicher Lesezugriff vereinbart werden, um auch nach Ablage auf Archivierungsmedien (z. B. CD-ROM, DVD) direkten Zugriff auf die enthaltenen Daten zu erlauben. Eine einzelne Datenbankdatei kann bis zu 64 Terabyte groß sein. Eine Datenbank kann aus mehreren Datenbankdateien bestehen. Damit können auch sehr große Datenbanken auf Dateisystemen angelegt werden, die zum Beispiel keine Dateien größer als 2 GB erlauben, beispielsweise FAT 16.

Mittels Software von den Drittanbietern kann Firebird um Replikationsdienste erweitert werden.

Siehe auch

Weblinks

Einzelnachweise

  1. Sourceforge.net: Releases Firebird-solaris-amd64, abgerufen am 3. Mai 2011.
  2. Sourceforge.net: Releases Firebird-win64, abgerufen am 3. Mai 2011.
  3. Sourceforge.net: Releases Firebird-linux-amd64, abgerufen am 3. Mai 2011.

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Firebird — (engl.: „Feuervogel“) steht für: Firebird (Datenbank), ein quelloffenes Datenbanksystem, aus den freigegebenen Quellcodes von Borlands InterBase entwickelt Firebird Software, ein ehemaliger Hersteller von Computerspielen Gibson Firebird, eine… …   Deutsch Wikipedia

  • Datenbank (Liste) — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Datenbank-Verwaltungswerkzeuge — gehören in den Bereich der Systemsoftware. Die dienen als Dienstprogramme oder IDE zur Verwaltung und Bearbeitung von bestehenden Datenbanken. Meist bieten die Hersteller der Datenbanken für ihre Datenbanksysteme entsprechende Datenbank… …   Deutsch Wikipedia

  • Mozilla Firebird — Mozilla Firefox Mozilla Firefox 3.0 Basisdaten …   Deutsch Wikipedia

  • MVCC — Multiversion concurrency control (MCC, MVCC, multi generational concurrency control) ist eine Methode aus der Datenbanktechnik, konkurrierende Zugriffe auf eine relationale Datenbank möglichst effizient auszuführen, ohne die Konsistenz der… …   Deutsch Wikipedia

  • Datenbankliste — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Liste von Datenbanken — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Firefox — Mozilla Firefox Mozilla Firefox 3.0 Basisdaten …   Deutsch Wikipedia

  • Firefox 3 — Mozilla Firefox Mozilla Firefox 3.0 Basisdaten …   Deutsch Wikipedia

  • Frickelfox — Mozilla Firefox Mozilla Firefox 3.0 Basisdaten …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”