Firebird, jakožto databázový stroj, škálovatelný od jednoho uživatele, či embedded zařízení až po tisíce aktivních spojení v „high-end balení“, nabízí několik „druhů“ sebe sama. Pravděpodobně bylo na toto téma položeno nespočet otázek, ale vždy se najde někdo, kdo rozdíly nezná. A to je velká škoda, neboť každý druh má něco do sebe. Pojďme co podívat, co zde máme.
reklama
Firebird, jakožto databázový stroj, škálovatelný od jednoho uživatele, či embedded zařízení až po tisíce aktivních spojení v „high-end balení“, nabízí několik „druhů“ sebe sama. Pravděpodobně bylo na toto téma položeno nespočet otázek, ale vždy se najde někdo, kdo rozdíly nezná. A to je velká škoda, neboť každý druh má něco do sebe. Pojďme co podívat, co zde máme.
Firebird je, jako každý software, verzován. Aktuální je verze 2.0.1 a zanedlouho přijde 2.1, avšak na scéně stále ještě je 1.0 a 1.5. Každá z těchto verzí je předkompilována (případně si můžete Firebird zkompilovat sami) do tří základních druhů: Super Server, Classic, Embedded.
Verze Super Server
Super Server edice je vícevláknová implementace Firebird serveru. Je možné ji bez omezení provozovat na Windows i na Linuxu. Díky zabalení celé funkcionality do jednoho procesu s mnoha vlákny je Super Server vhodnou volbou na začátek. Jediným problémem je mizerná podpora SMP na Windows (v tomto případě je vhodné použít Classic). Vzhledem k vícevláknové implementaci je možné některé informace lépe sdílet (např. cache space) a databázový soubor je také editován pouze jedním procesem. Vhodný je také pro servery, kde je počet spojení velký.
Verze Classic
Classic verze serveru je prvotní implementace. Je orientována procesně (neboť první OS vlákna neznala), každé spojení je tedy obsluhováno vlastním procesem. To přináší jisté nevýhody i výhody. Nevýhodou je samozřejmě menší provázanost mezi spojeními a menší možnost sdílení informací. Databázový soubor je také přistupován více procesy a riziko poškození je tedy teoreticky větší. Na druhou stranu výhodou je oddělení jednotlivých spojení. Pokud např. dojde k chybě v jednom z procesů a tento je násilně ukončen, není běh serveru téměř vůbec ovlivněn, což u Super Serveru není možné. Stejně tak podpora SMP na Windows je aktuálně možná jen s Classic verzí.
Jakou verzi vybrat?
Volba edice není kritickou záležitostí, vždy je možné přejít z jedné verze ke druhé bez jakýchkoli problémů (není nutné dělat žádné kroky/úpravy DB souborů). Na operačním systému Windows je dobrou volbou Super Server, implementace vláken v systému je na velmi vysoké úrovni a Super Server vám poskytne dobrý výkon, a to i při růstu požadavků. Classic server na Windows, je možné doporučit, jen pokud je SMP využití vaším cílem. Na Linuxu není volba tak jednoznačná. Linux byl vždy procesně orientovaný, nicméně ani vlákna mu nejsou cizí – ani jedna edice nebude krok mimo.
Embedded
Jak si jistě pozorný čtenář všiml, nemluvilo se dosud o Embedded verzi Firebirdu. Vysvětlení je jednoduché. Embedded server není tak úplně server. Funguje jako lokální „server“ (nenaslouchá na žádném portu) a pro provoz je třeba jen několik málo DLL knihoven, které stačí nakopírovat k aplikaci. Embedded Firebirdu jsme se již na stránkách vývojáře věnovali v článku „Firebird Embedded a .NET“ [http://www.vyvojar.cz/Articles/446-firebird-embedded-a-net.aspx]. Ve zkratce je možné říci, že pokud hledáte plně funkční SQL engine, bez nutnosti instalace, je Firebird Embedded přesně pro vás.
Použití Firebirdu – je jedno jaké verze či edice – je velmi jednoduché. Není tedy důvod, proč jej nezkusit, zvláště když podpora pro .NET také neostává.