Privacy Policy Cookie Policy Terms and Conditions Firebird (Datenbank) - Wikipedia

Firebird (Datenbank)

aus Wikipedia, der freien Enzyklopädie

Firebird
Entwickler: Firebird-Entwickler-Team
Aktuelle Version: 2.0 (12. November 2006)
Betriebssystem: Diverse Unixe u. a. AIX, Linux sowie Windows u. a.
Kategorie: Datenbankverwaltungssystem
Lizenz: IDPL
Deutschsprachig: Ja
Website: www.firebirdsql.org

Firebird ist der Open-Source-Spin-off des weiterhin kommerziell von 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 über 2GB 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.

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 Schemas), 9 obligatorische Fähigkeiten werden nur teilweise unterstützt).

Inhaltsverzeichnis

[Bearbeiten] Server-Versionen

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

[Bearbeiten] SuperServer

Die SuperServer Variante ist ein Multithreaded Server-Prozess. Der SuperServer verwaltet alle Benutzeranfragen und Verbindungen mittels verschiedener Threads innerhalb eines Prozesses. Unter Windows (ab NT4) kann der SuperServer als Dienst laufen oder generell auch als Applikation.

Zurzeit läuft der SuperServer nur auf Einzelprozessoren ohne Hyper-Threading. Bei einer Multiprozessormaschine muss dem SuperServer explizit eine CPU zugeordnet werden.

[Bearbeiten] 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.

[Bearbeiten] Embedded

Mit der Embedded-Variante ist es möglich, einer einzelnen Applikation einen 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 Mehrfachbenutzermodus benötigen. Die Embedded-Version benötigt keine Installation und hat ausschließlich nur eine Programmbibliothek für die verfügbaren Plattformen.

[Bearbeiten] Treiber

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

Mittlerweile verfügt Firebird über eine eigene, recht lebendige und auch in Sachen Support sehr hilfreiche Community. Kommerzieller Support ist ebenfalls erhältlich.

[Bearbeiten] Fähigkeiten

Die Firebird beherrscht speicherbare Prozeduren mit einer der Oracle Datenbank recht ähnlichen Programmiersprache (PSQL). Abfragen können ebenfalls gespeichert werden. Gespeicherte Abfragen können Änderungen durchreichen. Kaskadierende Trigger für alle DML-Befehle werden angeboten sowie referentielle Integrität von Fremdschlüsseln. Alle Transaktionen sind voll A.C.I.D. kompatibel (Atomicity, Consistency, Isolation und Durability) und unterstützen Sicherungspunkte (SAVEPOINT).

Der Server beherrscht unterschiedliche SQL-Dialekte, die individuell pro Datenbank festgelegt werden können. Abhängig der Dialekte 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 den 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 der 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 experimentellem Stadium sind 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.

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 2.0er Version sind nun auch inkrementale Sicherungen möglich.

Datenbanken können als Nur-Lesend gekennzeichnet werden, um Zugriffe von Archivierungsmedien (z. B. CD-ROM, DVD) 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 2GB erlauben.

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

[Bearbeiten] Einsatz im Unternehmen

Die Datenbank wird unter anderem auch in Firmen wie z.B. der dpa, der GDI oder TNT eingesetzt.

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu