Používá se ještě databáze Firebird?

oss

  • ****
  • 259
    • Zobrazit profil
    • E-mail
Používá se ještě databáze Firebird?
« kdy: 26. 04. 2025, 15:14:17 »
Pouziva sa este Firebird databaza, ak ano, kde? A na co je dobra?


Logik

  • *****
  • 1 049
    • Zobrazit profil
    • E-mail
Re:Používá se ještě databáze Firebird?
« Odpověď #1 kdy: 26. 04. 2025, 16:33:53 »
Firebird má imho vcelku dobré použití jako lepší embeded databáze. Oproti SQLite toho umí (nebo aspoň uměla, sqlite moc nesleduju) o dost více. Včetně toho, že si můžeš vybrat, jestli pojedeš "lokálně jednouživatelsky", nebo proti "plnotučnému" serveru.

Re:Používá se ještě databáze Firebird?
« Odpověď #2 kdy: 26. 04. 2025, 22:50:12 »
Uz dlhsie nesledujem jej vyvoj, ale urcite bezi na sw, ktory vznikal v case jej najvacsej slavy a ako sa vravi, ked to funguje, nesahaj na to.
jej dost velkou vyhodou bolo, ze instalacku si vedel okresat na par MB a je celkom rychla a nenarocna. Aj ked velke firmy postupne (aspon v mojom okoli) presli na interbase, viem si ju realne predstavit aj dnes v nejakych mensich projektoch.

Buldr

  • ***
  • 167
    • Zobrazit profil
Re:Používá se ještě databáze Firebird?
« Odpověď #3 kdy: 27. 04. 2025, 00:03:33 »
Pouziva sa este Firebird databaza, ak ano, kde? A na co je dobra?

Proč by se nepoužívala? Na uzavřených systémech, nebo embedded (řídící terminál - okruh) se bude používat ještě hodně dlouho. Spolehliva, robustní a především nenáročná, tedy má všechný základní předpoklady fungovat na kritickch systémech s minimálním výkonem (např.: řízené okruhy).
Carpe diem

Re:Používá se ještě databáze Firebird?
« Odpověď #4 kdy: 27. 04. 2025, 08:28:00 »
Jestli nedošlo ke změně, tak nad Firebirdem běží Pražská Městská knihovna. Osobně Firebird nepoužívám, a zrovna tak neznám nikoho, kdo by ho používal, ale po očku sleduji vývoj. Je to databáze, která má relativně stabilní letitý vývoj, který je stále živý, a má to svojí niku. Je to databáze vhodná pro embedding - nakopírujete 2 soubory a jedete, má to vlastnosti, které zjednodušují vývoj v embeddingu. V tom je to stejná databáze, jako je SQLite. Oproti ní je to ale databáze - s plnohodnotným SQL, s vestavěným skriptovacím jazykem, monitoringem. SQLite (i podle vlastního vyjádření jejího autora) je spíš transakční filesystém s SQL API. SQLite je primitivní (ale pro řadu použití dostačující) jednouživatelská velice malá databáze. Oproti tomu je Firebird úplná více uživatelská databáze (i když se spíš jen výjimečně používá pro větší počet uživatelů), která je ale stále velmi malá a kompaktní (vhodná pro embedding), což Postgres nebo MySQL třeba určitě není.   Pokud bych předpokládal, že s nějakým hw budu distribuovat i databázi, tak pravděpodobně bych šel do Firebirdu (zvlášť pokud bych měl někoho, kdo s ním umí).


Re:Používá se ještě databáze Firebird?
« Odpověď #5 kdy: 27. 04. 2025, 10:38:20 »
Co si vzpomínám, tak třeba MRP-K/S nebo Smartmedix a určitě spousta dalšího sw... Na první ohmatání velmi příjemná databáze, kdysi jsem pro někoho dělal nějaké psí kusy s daty ze skladu právě z MRP a zanechalo to na mně velmi dobrý dojem...

Re:Používá se ještě databáze Firebird?
« Odpověď #6 kdy: 27. 04. 2025, 12:09:23 »
Ano, používá.
Byť, jak už tu zaznělo, tak má dnes spíš své specifické oblasti, kde se hodí nasadit.
Má docela dlouhou historii a její přímí předchůdci byly jedny z prvních databází, co měly v 80. letech transakce a MVCC (MGA). Dlouho se vyvíjela pod Borlandem jako Interbase, takže minimálně v devadesátých a nultých letech byla velice populární u vývojářů, co pracovali v Pascalu s Delphi. Tuhle roli pak z větší části přebral MS SQL server v Compact, Express a LocalDB variantě, když se to posouvalo k vývoji pod .NET.
Od r. 2000 pak existuje a vyvíjí se jako Firebird - open source fork Interbase.

Na embeddované použití to může být pro určitá použití zajímavý kompromis, není tak minimalistická jako SQLite, ale pořád je velmi kompaktní. Také nemá tvrdá velikostní a paměťová omezení jako ty varianty MS SQL serveru (plus je samozřejmě open-source a multiplatformní). Historicky tam byly zajímavé i další funkce toho systému (aut. segmentování podle velikosti a paralelní zápis do různých db souborů kvůli obnově).

Jinak se dá vcelku úspěšně nasadit i do víceuživatelského prostředí. I když samozřejmě záleží na konkrétní situaci.
Není (většinou) tak rychlá a vertikálně škálovatelná jako MySQL s InnoDB a nemá ani zdaleka tolik možností jako PostgreSQL, který je za mě mezi open source projekty asi nejblíž těm velkým systémům jako např. od Oracle.

V porovnání s MySQL měl Firebird lepší procedurální SQL, vytváření interních funkcí, window funkce (byť to se zásadně změnilo v MySQL 8). Umí také velmi dlouho eventy, které se dají použít např. na asynchronní notifikace klientů ze serveru, když se změní dataset (volá se to z triggeru nebo procedury).
Jak zmínil Pavel Stěhule, tak se Firebird pořád vyvíjí, optimalizuje se a přidávají se další funkce. Verze 5 má např. partial (filtrované) indexy, předchozí verze 4 přinesla vestavěnou replikaci (bez dalších nástrojů nebo vlastního řešení logické replikace) a vestavěnou plnou podporu časových zón. Průběžně se vylepšují monitorovací nástroje, chování a syntaxe podle SQL standardu atp.

Osobně Firebird používám asi 20 let pro své projekty (od data driven grafiky pro TV/streaming, přes nějaké analytické věci, až po jednoúčelové věci na nějakou telemetrii). Je to také velmi fajn na menší použití (řádově desítky klientů), kdy se hodí dělat větší manipulace s daty na databázové vrstvě (např. proto, že okolo jsou proprietární aplikace které mají např. jen ODBC a minimální možnosti úprav dat). Bylo to pro mě také velmi spolehlivé.
Ale jak jsem zmiňoval, opravdu záleží na specifickém použití. Samozřejmě pokud je třeba přímá podpora (tzn. ne přes BLOBy) pro specifické datové typy (JSON, XML, spatial data), vybere se něco jiného.
Stejně tak, pokud člověk chce maximální výkon pro čtení a zápis, nepoužívá v databázi žádný nebo minimální data processing, tak třeba MySQL (resp. embedded SQLite) může být lepší.
Někdy také může rozhodnout přímá podpora MySQL, Postgresu v určitých ORM knihovnách, webových frameworkách atp.

Také se s ním lze občas potkat pod aplikacemi, zařízeními (typově sdílená databáze klipů ve video serveru). Vím, že jsou na tom postavené také různé účetní a lékařské systémy.

Jinak rozšíření také trochu záleží na regionu, zemi. Firebird je relativně hodně populární v Rusku (a zemích okolo), Brazílii, ale také Německu. To Rusko má pragmatický důvod i v tom, že v určité době začali měnit proprietární systémy od převážně amerických firem za OSS nástroje, kde můžou ovlivnit vývoj. Takže existují i speciální verze Firebirdu, co jsou certifikované pro provoz v ruské státní správě a bankách, rozšířené např. o jejich specifické šifry. Spousta změn byla nejdřív v těchhle specifických variantách s komerční podporou a pak se následně upstreamovaly do další major verze databáze. Takže třeba u nich na tom běží i docela rozsáhlé systémy a většina core vývojářů je odtamtud.
Jinak u nás jsou také skvělí vývojáři, co přímo přispívají do projektu, pánové Pavel Císař (autor Python driveru a jediné české knížky, člen Firebird Foundation a největší nadšenec ;)) a Jiří Činčura (píše .NET driver).

Jsem se rozkecal :)

Re:Používá se ještě databáze Firebird?
« Odpověď #7 kdy: 27. 04. 2025, 12:39:43 »
Jsem se rozkecal :)

Ale pěkně. Nechceš to tady nechat vydat jako článek? Myslím to vážně, doma si píšu webovou apku v Golangu a SQLite a taky se chystám na článek. K sobě na blog, ale klidně i sem na roota (není nutné, u mě to bude roky k disposici všem a možná i s odkazem na GitHub).

Re:Používá se ještě databáze Firebird?
« Odpověď #8 kdy: 27. 04. 2025, 14:56:28 »
Jsem se rozkecal :)

Ale pěkně. Nechceš to tady nechat vydat jako článek? Myslím to vážně, doma si píšu webovou apku v Golangu a SQLite a taky se chystám na článek. K sobě na blog, ale klidně i sem na roota (není nutné, u mě to bude roky k disposici všem a možná i s odkazem na GitHub).

Díky, ale moje psaní je opravdu velká bída. Občas to možná může vypadat, že tu soutěžíme s Izákem o nejnesrozumitelnější post s největším množstvím chyb :))

K tomu vývoji okolo Firebirdu a jeho vlastnostem by byl určitě nejlepší a nejpovolanější Pavel Císař.
Dokonce tu také kdysi psal: https://blog.root.cz/firebird/
Ale netroufám si odhadovat, jestli by se mu třeba do nějakého osvěžovacího článku chtělo, případně jak moc je zaneprázdněný.

Jinak máš moc fajn blog ;)

Re:Používá se ještě databáze Firebird?
« Odpověď #9 kdy: 27. 04. 2025, 19:57:47 »
Jinak máš moc fajn blog ;)

Taky děkuji.

Re:Používá se ještě databáze Firebird?
« Odpověď #10 kdy: 28. 04. 2025, 01:20:25 »
Firebird pouzivame (a dotujeme vyvoj) pro MES system jenz bezi v rezimu 24/7. Velikost DB do cca 500GB, pocet spojeni 200-300. Asi nejvetsi nevyhoda je, ze v zakladni instalaci neni zadne UI a drivery, tj, je nutne si vse postahovat rucne a zkonfigurovat, coz muze byt pro neznaleho komplikovane. Zajimavy klon je FB je Red Database (https://rdb.red-soft.ru/#rbd) a hlavne UI psane v Jave jenz vyuzivame a je bezplatne (https://rdb.red-soft.ru/downloads/redexpert/). Pokud jsou nejake konkretni dotazy, tak se ptejte.

Re:Používá se ještě databáze Firebird?
« Odpověď #11 kdy: 28. 04. 2025, 20:25:26 »
Medicus (CGM) používá verzi 2.5 (2.5.7) a je nekompatibilní s novějšími.

SmartMedix využívá také často Firebird, aktuálně nějakou verzi 3, ale brzy budou podporovat i novější.

H0ax

Re:Používá se ještě databáze Firebird?
« Odpověď #12 kdy: 28. 04. 2025, 22:49:29 »
mzdový systém Avensio

Logik

  • *****
  • 1 049
    • Zobrazit profil
    • E-mail
Re:Používá se ještě databáze Firebird?
« Odpověď #13 kdy: 28. 04. 2025, 23:50:09 »
Na Firebirdu také běží účetnictví Abra.

Re:Používá se ještě databáze Firebird?
« Odpověď #14 kdy: 29. 04. 2025, 10:59:14 »
Honeywell ve svých sw v odvětví bezpečnosti používá rovněž Firebird.