HOME | ROZWIĄZANIA | 

OFEROWANE ROZWIĄZANIA


KAMELEON SQL - TECHNOLOGIA


Firebird - baza danych SQL

Wykorzystana w KAMELEON SQL baza danych SQL Firebird oferuje możliwości dostępne dotychczas jedynie w drogich rozwiązaniach dla dużych firm. Jest szybka, bezpieczna i skalowalna oraz odporna na awarie. Charakteryzuje się dużą efektywnością działania zarówno na pojedynczym komputerze, jak i w sieci obsługując tysiące operacji i setki użytkowników. Firebird to bardzo wydajna SQL-owa baza danych zgodna ze standardami przetwarzania środowisk klient-serwer. Zastosowanie jej w budowie systemu w sposób znaczący zmniejsza koszty i podnosi jakość tworzonego oprogramowania. Posiada ona wszelkie cechy doskonałej wbudowanej bazy danych, ale może zostać z powodzeniem włączona do systemów rozproszonego przechowywania i przetwarzania informacji. Prosta instalacja i przejrzyste zasady współpracy z użytkownikiem tworzą ją narzędziem niezwykle łatwym w obsłudze znosząc niemal do zera koszty i wysiłek związany z administrowaniem potężnym serwerem baz danych. Niewielkie wymogi sprzętowe powodują, że maszyny, na których pracują systemu oparte o Firebird mogą uniknąć przykrych i niosących obciążenia finansowe modernizacji. Dodatkowo zgodność z większością standardów inżynierskich (na przykład pełna implementacja dialektu SQL-92) umożliwia szybki rozwój i zwiększa czytelność zastosowanych rozwiązań programistycznych. Niniejszy tekst ma za zadanie przedstawić główne cechy serwera Firebird jako rozwiązania, które znaczenie przyspiesza tworzenie i wdrażanie oprogramowania dając jednocześnie projektantowi i użytkownikowi możliwości, jakimi dotąd dysponowały jedynie komercyjne bazy danych takie jak Microsoft SQL Server, Oracle czy Informix.

Niski koszt pozyskania i eksploatacji

Firebird powstał i rozwijany jest jako projekt „open source” . Równolegle firma Borland rozwija komercyjne rozwiązanie pod nazwą InterBase. Licencja opisująca zasady dystrybucji takich produktów mówi, że można dystrybuować je bez ograniczeń bez konieczności ponoszenia żadnych dodatkowych opłat. Podstawowym warunkiem jest jednak to, że dystrybutor nie może od swoich klientów pobierać żadnych opłat z tytułu przekazywania mu do użytkowania produktu „open source” ani też sprzedawać go jako osobne, komercyjne rozwiązanie. Dzięki temu każdy klient, który otrzymuje od producenta oprogramowania system oparty o Firebird nie musi ponosić żadnych dodatkowych kosztów związanych z licencją serwera bazy danych. W przypadku komercyjnych baz danych koszty te rosnąć mogą do dziesiątek tysięcy dolarów za możliwość używania serwera wraz z kilkoma dodatkowymi stanowiskami klienckimi.
Kolejnym atutem Firebird jest w zasadzie bezobsługowa praca lub z minimalnym udziałem administratora. Koncepcja pracy serwera jest tak przejrzysta, że nie ma potrzeby korzystania z jakichkolwiek szkoleń lub kursów w celu opanowania zasad zarządzania bazą danych. Stoi to w zdecydowanej opozycji do komercyjnych rozwiązań, które są najczęściej na tyle skomplikowanymi produktami, że nie sposób bez specjalnego, intensywnego kursu używać serwera a czasem nawet go zainstalować. Ta cecha Firebird jest niezwykle istotna z punktu widzenia końcowego użytkownika systemu, którego na pewno ucieszy fakt, że administrowanie serwerem bazy danych jest na tyle proste, że nie trzeba wydawać pieniędzy na specjalnie przeszkolenie personelu informatycznego. Dodatkową zaletą tego rozwiązania jest dostępność (internet) darmowych narzędzi pozwalających na sprawne zarządzanie serwerem Firebird.

Prostota instalacji

Firebird może zostać zainstalowany jako zdalny lub lokalny serwer bazy danych. Obie wersje instalacji są bardzo proste. System może używać zarówno programu instalacyjnego dostarczonego przez zespół pracujący nad Firebird jak i napisanych dla jego potrzeb instalatora. Drugie z rozwiązań może pozwolić na to, że nawet przy braku wykwalifikowanego personelu serwer zostanie zainstalowany a aplikacja skonfigurowana i uruchomiona bez najmniejszych problemów.

Małe wymagania sprzętowe

Poza prostotą instalacji istnieje jeszcze jedna bardzo ważna cecha Firebird, której nie sposób nie docenić. Są to bardzo małe wymagania sprzętowe. W instalacji podstawowej zajmuje on około 25 MB wolnego miejsca na dysku a do efektywnej pracy wymaga co najmniej 64 MB pamięci operacyjnej komputera. Dzięki temu można uniknąć kosztownej modernizacji komputerów a mimo to otrzymać rozwiązanie dorównujące możliwościami o wiele bardziej wymagającym pod tym względem bazom danych.

Skalowalność

Skalowalność bazy danych polega na tym, że jest ona w stanie w sposób efektywny współpracować zarówno z jednym użytkownikiem jak i z kilkuset użytkownikami. Taki właśnie jest Firebird. Doskonale spisuje się zarówno jako lokalny serwer domowej bazy danych jak i motor w oparciu o który działa potężny system dający możliwość obsługiwania jednocześnie wielu użytkowników. Dodatkowo zastosowanie w Firebird systemu wersjonowania rekordów oraz architektury transakcyjnej bazy danych powoduje, że system działa szybko nawet wtedy, gdy dokonywane są jednocześnie odczyty dużych bloków danych i intensywne modyfikacje rekordów. Odróżnia to Firebird chociażby od Microsoft SQL Server, w którym odczyt dużej ilości danych potrafi skutecznie zablokować zapis rekordu do bazy.

Zgodność z wieloma platformami.

Firebird został zaadaptowany do pracy z wieloma różnymi systemami operacyjnymi na wielu platformach sprzętowych. Poniżej znajduje się lista systemów operacyjnych, na których działa ten serwer bazy danych:

  • Win32
  • Linux i386
  • Solaris Sparc i i386
  • FreeBSD
  • MacOS X
  • HP-UX

Dzięki temu przeniesienie bazy danych na inny system operacyjny (włącznie ze zmianą platformy sprzętowej) sprowadza się do wykonania archiwizacji danych na starym serwerze i odtworzenia ich na nowej maszynie. Co ciekawe operacja ta nie wiąże się z żadną zmianą kodu źródłowego systemu, który z tej bazy korzysta. Zmienia się rzecz jasna jedynie adres maszyny, na której pracuje serwer bazy danych. W tym miejscu należy wspomnieć również o dużej swobodzie w konfigurowaniu połączenia aplikacji klienta z motorem bazy danych, którą oferuje Firebird. W szczególności możliwe jest określenie przez użytkownika z protokołu sieciowego po którym ma następować komunikacja pomiędzy klientem a serwerem (NetBEUI, TCPIP itp.).

Szybkość i bezpieczeństwo

Dzięki unikalnej architekturze zastosowanej w Firebird stworzono produkt, który łączy w sobie stabilność najlepszych rozwiązań w tej dziedzinie informatyki z szybkością serwerów komercyjnych. Doskonale zorganizowany system transakcyjny i mechanizm wersjonowania rekordów (cechy te zostały szerzej opisane w rozdziale "Zalety zastosowanej technologii") pozwala na natychmiastowe uruchomienie Firebird po awarii maszyny, na której pracował. Dzięki małym wymaganiom sprzętowym i zoptymalizowanym mechanizmom równoległego dostępu do danych można stosować to rozwiązanie zarówno na pojedynczych stanowiskach pracy jak i w klasycznej architekturze klient-serwer. Przechowywanie wersji rekordów zmienianych w transakcji pozwala aplikacji serwera na powrót do dowolnej wersji w dowolnym momencie. Gwarantuje to użytkownikowi bieżący dostęp do spójnych danych oraz ich bezpieczeństwo w przypadku niekontrolowanych zakończeń sesji maszyny serwera (awaria zasilania itp.). Dodatkowym atutem jest możliwość wykonania kopii bezpieczeństwa bazy “on line” czyli nawet wtedy gdy inni użytkownicy pracują na tej bazie danych. Otrzymujemy wtedy spójne logicznie archiwum, które zawiera stan danych z momentu rozpoczęcia procesu archiwizacji.

Możliwość samodzielnego rozwoju systemu opartego o Firebird

Dzięki stosowaniu się do ustalonych norm technologicznych projektanci i programiści systemów mogą znacząco skrócić czas potrzebny na rozwój i pielęgnację oprogramowania. Jeżeli stosowany przez nich serwer bazy danych spełnia pewne normy to praca z nim staje się oczywista i nie wymaga wnikliwego studiowania dokumentacji technicznej i przeprowadzania eksperymentów, które mają wyjaśnić niezrozumiałe zachowanie serwera. Wobec powyższego stosowanie Firebird jest jak najbardziej wskazane i powinno być czystą przyjemnością. Dzieje się tak, dlatego że Firebird wykazuje pełną zgodność ze standardami technologicznymi dotyczącymi środowisk przetwarzania klient-serwer. W szczególności jest to wsparcie dla ANSI/SQL, Unicode oraz dostępność sterowników ODBC i JDBC, które pozwalają na integrację z Firebird tak potężnymi środowiskami programistycznymi jak Microsoft .NET, Delphi, Kylix, C++ Builder oraz JBuilder. Dzięki tej integracji projektanci mogą połączyć posiadaną już wiedzę i nowe umiejętności w celu stworzenia optymalnych rozwiązań. Jeżeli zatem użytkownik systemu opartego o Firebird dysponuje odpowiednimi umiejętnościami lub zatrudnia w swojej firmie programistów to mogą oni z łatwością tworzyć specyficzne rozwiązania informatyczne (funkcjonalnie odpowiadającym zapotrzebowaniu tylko danej firmy).

Zalety zastosowanej technologii

Firebird od początku pisany był w języku C. Daje to mu przewagę szybkości nad serwerami, których autorzy wybrali mniej efektywny (pod względem wydajności) język programowania. W roku 2002 rozpoczęła się procedura przepisywania serwera na język C++. Poprawiło tryb pracy serwera oparty o wiele wątków. Z punktu widzenia technologii Firebird charakteryzuje się:

  • Przetwarzaniem transakcyjnym
  • Wersjonowaniem rekordów
  • możliwością  osadzania obiektów w bazie danych
  • możliwością archiwizacji danych „w locie”
  • natychmiastowym uruchomieniem serwera po awarii maszyny, na której pracuje

Przetwarzanie transakcyjne określa sposób łączenia się aplikacji z serwerem bazy danych oraz zasady utrzymywania tego połączenia. Transakcja to swoisty „tunel”, którym dane zmierzają od maszyny (systemu) klienta do maszyny serwera i z powrotem. Jej uruchamianiem i sposobem zakończenia steruje aplikacja klienta. Takich "tuneli" może być wiele.

Historia i przyszłość

Firebird jest bazą danych, której początki sięgają roku 1981. Od czasu powstania rozwijała się ona bardzo dynamicznie występując jednak oficjalnie pod wieloma różnymi nazwami. W lipcu 2000 roku ruszył projekt Firebird. Na starcie wykorzystano źródła, które w ramach "open source" oddała do swobodnego rozwoju firma Borland/Inprise. Oznaczało to, że Firebird stał się w prostej linii potomkiem rozwijanej już od wielu lat bazy danych InterBase. Aby zapewnić szybki rozwój nowemu przedsięwzięciu powołana została do życia specjalna fundacja Firebird Foundation  działająca na zasadach “non-profit” i zrzeszająca zarówno pojedyncze osoby jaki i całe firmy. Miała ona i ma nadal na celu zapewnienie wsparcia i funduszy na rozwój Firebird jako produktu “open source”. Zostało przez nią pozyskanych wielu sponsorów strategicznych, między innymi: