Firebird
![]() | Ten artykuł dotyczy systemu zarządzania bazą danych. Zobacz też: Mozilla Firebird – poprzednia nazwa przeglądarki Firefox. |
Autor | Firebird Foundation |
---|---|
Pierwsze wydanie | 2000-08-25 25 sierpnia 2000(dts) |
Aktualna wersja stabilna | 5.0.1 (2 sierpnia 2024) [±] |
Aktualna wersja testowa | 4.0 (kompilacja codzienna) |
System operacyjny | Linux, Windows, MacOS X |
Rodzaj | relacyjny system baz danych |
Licencja | InterBase Public License |
Strona internetowa |
Firebird – system zarządzania relacyjnymi bazami danych zgodny ze standardem ANSI SQL-92. Oferuje również wiele elementów standardu SQL-99 oraz SQL:2003. Działa w środowisku systemu operacyjnego Linux, 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 bazie kodu źródłowego serwera InterBase 6.0 udostępnionego przez firmę Inprise Corp (obecnie znana jako Borland Software Corp) w lipcu 2000 roku na podstawie licencji InterBase Public License 1.0. Nowe moduły dodane do serwera objęte są licencją Initial Developer's Public License. Obie licencje są zmodyfikowanymi nieco wersjami Mozilla Public License v.1.1.
Inne znaczenia
W kwietniu 2003 r. Fundacja Mozilla zdecydowała się zmienić nazwę swojej przeglądarki Internetu z Phoenix na Firebird. 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 na Mozilla Firefox, kończąc[1] tym całe zamieszanie.
Historia
Firebird 1.0 był praktycznie taki sam jak edycja open 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ę w DEC 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 (preprocesor C), później zmienione na gpre.c i gpre.h. Pliki te zostały utworzone na pożyczonym DEC Pro/350, osobistym komputerze PDP-11, praktycznie nigdzie nie wykorzystywanym, działającym pod kontrolą systemu operacyjnego Xenix. Gpre był moim pierwszym programem napisanym w C, XENIX był moim pierwszym kontaktem z systemem Unix, 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.
Firebird 3.0
W tej wersji między innymi umożliwiono korzystanie z wyraż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
Właściwości
- Pełna obsługa procedur składowanych oraz wyzwalaczy[5]
- Transakcje zgodne z ACID
- 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 z kopii 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 danych platformy.Net, sterownik JDBC 4, moduły Python, 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
Nagrody i wyróżnienia
- 2009. Społeczność portalu SourceForge wyróżniła Firebird jako najlepszy produkt w kategorii Najlepszy projekt dla przedsiębiorstwa (Best Project for Enterprise). Firebird był również jednym z finalistów w kategoriach Najlepszy projekt (Best Project) oraz Najlepszy projekt dla administracji rządowej (Best Project for Goverment).
- 2007. Społeczność portalu SourceForge wyróżniła Firebird w kategoriach Najlepszy projekt dla przedsiębiorstwa (Best Project for Enterprise) oraz Najlepsze wsparcie użytkowników (Best user support).
Dostępna literatura
- „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
Zobacz też
- Fyracle – modyfikacja Firebird zgodna z Oracle
Przypisy
- ↑ Mozilla Firefox – Brand Name Frequently Asked Questions. [dostęp 2008-06-09]. [zarchiwizowane z tego adresu (2013-05-30)].
- ↑ Firebird 3.0.1. [dostęp 2017-01-31].
- ↑ Firebird 3.0.1 Release Notes. [dostęp 2017-01-31].
- ↑ Helen Borrie: Firebird 2.5 Release Notes. 2008-07-02. [dostęp 2011-02-09].
- ↑ Poznaj Firebird w dwie minuty.
Linki zewnętrzne
- Firebird – witryna projektu (ang.)