Ten artykuł dotyczy systemu zarządzania bazą danych. Zobacz też:Mozilla Firebird – poprzednia nazwa przeglądarkiFirefox.Firebird –system zarządzania relacyjnymi bazami danych zgodny ze standardemANSISQL-92. Oferuje również wiele elementów standarduSQL-99 orazSQL:2003. Działa w środowisku systemu operacyjnegoLinux,Windows,Mac OS X i wielu innych. Może być używany bez rejestrowania lub wnoszenia jakichkolwiek opłat w dowolnych zastosowaniach, również komercyjnych.
Serwer jest rozwijany na baziekodu źródłowego serweraInterBase 6.0 udostępnionego przez firmęInprise Corp (obecnie znana jakoBorland Software Corp) w lipcu 2000 roku na podstawielicencjiInterBase Public License 1.0. Nowe moduły dodane do serwera objęte sąlicencjąInitial Developer's Public License. Obie licencje są zmodyfikowanymi nieco wersjamiMozilla Public License v.1.1.
W kwietniu 2003 r.Fundacja Mozilla zdecydowała się zmienić nazwę swojejprzeglądarki Internetu zPhoenix naFirebird. Ta decyzja wzbudziła zaniepokojenie wśród twórców serwera Firebird, gdyż użytkowników mogłaby wprowadzać w błąd taka sama nazwa używana zarówno przez serwer SQL, jak i przez przeglądarkę Internetu. Spór kontynuowano do czasu, aż twórcy przeglądarki Mozilla wydali oświadczenie, w którym sprecyzowali, że ich program nazywa się „Mozilla Firebird”, a nie „Firebird”. Oświadczyli również, że Mozilla Firebird było nazwą kodu bazowego przeglądarki. 9 lutego 2004 r. Mozilla zmieniła nazwę swojej przeglądarki Internetu naMozilla Firefox, kończąc[1] tym całe zamieszanie.
Firebird 1.0 był praktycznie taki sam jak edycjaopen source serwera InterBase 6.0, z poprawionymi błędami oraz zaimplementowanymi drobnymi usprawnieniami. Rozwój kodu Firebird 2 rozpoczął się od przekodowania Firebird 1.0, napisanego w języku C, na C++, połączonego z dogłębnym czyszczeniem kodu. Pierwszą udostępnioną wersją serwera, zbudowaną na bazie kodu Firebird 2, był Firebird 1.5. Był to znaczący krok dla twórców tego projektu.
- Firebird 2.0 został udostępniony w roku 2006. Ostatnia stabilna wersja ma numer 2.0.7. Została ona udostępniona w kwietniu 2012 r. (Koniec serii)
- Firebird 2.1 został udostępniony 18 kwietnia 2008 r. Ostatnia stabilna wersja ma numer 2.1.7. Została ona udostępniona w grudniu 2014 r. (Koniec serii)
- Firebird 2.5 został udostępniony 4 października 2010 r. Zawiera między innymi obsługę wyrażeń regularnych, możliwość pobierania danych z innych baz danych.
- Firebird 3.0.1 został wydany w 27 września 2016 roku[2]. Głównym celem twórców Firebirda 3 było ujednolicenie architektury serwera i zwiększenie wsparcie dla wieloprocesorowości na głównych platformach sprzętowych, co ma skutkować poprawą pracy procesów silnika bazy danych i zwiększyć szybkość udostępniania danych oraz poprawienie zabezpieczeń. Wprowadzono wiele popularnych funkcji do języka SQL[3].
Z okazji dwudziestej rocznicy linii produktów InterBase/Firebird, oryginalny twórca Jim Starkey wspominał:
- „5 sierpnia 2004 r. przypada dwudziesta rocznica tego, czym jest obecnie Firebird. Zakończyłem moją pracę wDEC w sierpniu, wziąłem trzydniowy urlop i 4 września 1984 r. rozpoczęła się moja nowa kariera przedsiębiorcy softwarowego. O ile dobrze pamiętam, pierwszymi dwoma plikami były cpre.c oraz cpre.h (preprocesorC), później zmienione na gpre.c i gpre.h. Pliki te zostały utworzone na pożyczonym DEC Pro/350, osobistym komputerzePDP-11, praktycznie nigdzie nie wykorzystywanym, działającym pod kontrolą systemu operacyjnegoXenix. Gpre był moim pierwszym programem napisanym w C, XENIX był moim pierwszym kontaktem z systememUnix, a Pro/350 był zdecydowanie ostatnim moim kontaktem (ale nie tęsknię za tym) z komputerami serii PDP-11.”
W roku 2010 Firebird ukończył 10 lat samodzielnego rozwoju. W związku z tym powstała kampania MindTheBird!, mająca na celu popularyzację serwera.
W tej wersji między innymi umożliwiono korzystanie zwyrażeń regularnych oraz możliwość pobierania danych ze zdalnych baz danych[4].
Najważniejsze nowości w wersji 3.0:
- wsparcie dla analitycznej funkcji WINDOW znanej z komercyjnych serwerów
- możliwość pisania pluginów: szyfrowania, uwierzytelniania, śledzenia (trace)
- w pełni skalowalna architektura SMP dla współczesnych procesorów
- pełny wgląd w plan zapytania „Explained plan”
- zwiększone bezpieczeństwo poprzez szyfrowanie transmisji i możliwość nadawania uprawnień do obiektów struktury bazy danych (DDL permissions)
- zaimplementowany algorytm HASH JOIN
- funkcje skalarne PSQL
- pakiety
- dwukierunkowe kursory
- możliwość dodawania parametrów do komunikatów błędów
- zwiększony limit rozmiaru zapytania do 10 MB
- wyrażenia regularne w funkcji systemowej SUBSTRING
- typ BOOLEAN
- pełne wsparcie dla składni MERGE według specyfikacji SQL2008
- możliwość definiowania atrybutów użytkownika
- 64-bitowy identyfikator transakcji
- Pełna obsługaprocedur składowanych orazwyzwalaczy[5]
- Transakcje zgodne zACID
- Integralność referencji
- Obsługa wielu wersji tego samego rekordu (ang. Multi Generational Architecture; MVCC)
- Wymaga niewielkiej pojemności dysku do przechowywania plików kodu wykonywalnego serwera baz danych (ang. footprint)
- PSQL – wewnętrzny język serwera, posiadający wiele możliwości i funkcje do obsługi procedur wbudowanych oraz wyzwalaczy
- Obsługa funkcji zdefiniowanych przez użytkownika – dołączanych w postaci bibliotek *.DLL lub *.so (UDFs)
- System zarządzania relacyjnymi bazami danych nie wymaga specjalistycznej wiedzy od użytkownika
- W domyślnej instalacji nie jest wymagana dodatkowa konfiguracja – wystarczy zainstalować i od razu można używać
- Jest wiele miejsc, w których użytkownik może otrzymać fachowe i darmowe wsparcie techniczne
- Specjalne wydanie wersji wbudowanej (ang. embedded version), w postaci jednego dołączanego pliku, umożliwia tworzenie aplikacji na nośnikach CD/DVD itp., aplikacji jednostanowiskowych, a także wersji prezentacyjnych programów dla użytkowników w celach testowych
- Wiele narzędzi (również graficznych) do zarządzania, replikacji danych itd.
- Format zapisu danych umożliwia szybkie przywrócenie bazy zkopii bezpieczeństwa – nie są wymagane przy tym logi transakcji
- Wiele możliwości dostępu do serwera baz danych: native/API, sterowniki Firedac,dbExpress,ODBC,OLEDB, dostawca danychplatformy.Net, sterownikJDBC 4, modułyPython,PHP,Perl itd.
- Obsługa wszystkich popularnych systemów operacyjnych –Windows,Linux,MacOS i innych.
- Kopie przyrostowe
- Wersje 64-bitowe
- Pełna implementacja kursorów w PSQL
- Wyrażenia regularne
- Indeksy tworzone na podstawie wyrażeń (expression index)
- Wyrażenia tabelaryczne CTE (Common Table Expression) i rekursyjne CTE
- 2009. Społeczność portaluSourceForge wyróżniła Firebird jako najlepszy produkt w kategoriiNajlepszy projekt dla przedsiębiorstwa (Best Project for Enterprise). Firebird był również jednym z finalistów w kategoriachNajlepszy projekt (Best Project) orazNajlepszy projekt dla administracji rządowej (Best Project for Goverment).
- 2007. Społeczność portalu SourceForge wyróżniła Firebird w kategoriachNajlepszy projekt dla przedsiębiorstwa (Best Project for Enterprise) orazNajlepsze wsparcie użytkowników (Best user support).
- „The Firebird Book: A Reference for Database Developers” – Copyright © 2004 by Helen Borrie and IBPhoenix (Wydawnictwo Apress)
- „The Firebird 2 Suplement for the Firebird Book” – Copyright © 2007 by Helen Borrie and IBPhoenix (Wydawnictwo IBPhoenix Publications), dostępna wyłącznie w formie elektronicznej książki
- Fyracle – modyfikacja Firebird zgodna z Oracle