Zitat:
meine Empfehlung ist Firebird ja eh.
Welche Version ist zu empfehlen? D.h. die Version die am stabilsten läuft und wo man lange nichts ändern muss. Wie hoch ist der Umstellungsaufwand von MariaDB auf Firebird?
Andererseits sind wir gar nicht so negativ bezüglich einer zweiten Datenbank bei uns eingestellt. Wir verwenden bei uns immer nur MariaDB. Eine Alternative hierzu wollten wir immer mal suchen, haben dies aber in den letzten Jahren nicht gemacht. Es kann ja immer mal vorkommen, dass sich die Lizenzbedingungen ändern und man dann umstellen will bzw. muss. So wie wir von
MySQL auf MariaDB umgestellt haben als Oracle SUN +
MySQL aufkaufte.
Aktuell würde ich bei neuen Projekten auf FB4 aufsetzen, ältere Version muss man nicht unbedingt umstellen und wenn ihr ein Rollout an Kunden machen müsste, ist das eingesetzte
OS auch ziemlich egal
(wir haben in einem ziemlich großen Kundenprojekt gemischte Firebird Server im Einsatz, ca 230 mit Ubuntu Linux (14-22), 4 mit Windows 2016-2019, Firebird V2.5 auf ca 90% davon, der Rest FB3, demnächst dann
auch der erste mit FB4).
Im Gegensatz zu Maria
DB, die wie du ja schon schreibst von
mysql kommen, hat Firebird seit ca 23 Jahren ein irreversibles Lizenzmodell, sprich so was wie die duale Lizenz, die es bei
mysql gab
und ggf auch unter sun/oracle danach noch gibt und dir dann immer durch die Blume mitteilt, das du ja eine Lizemz kaufen müsstet, wird es das bei Firebird so nicht geben.
Das Projekt und damit der gesamte Quellcode gehört niemandem und kann damit auch von niemandem verkauft werden (kann sein das Borland das damals ziemlich schnell erkannt hatte und man sich darüber
immer noch ärgert in den nachfolgefirmen, ist aber egal).
Wir haben selbst noch Kunden, von denen wir wissen, das da einige System noch auf fb15 arbeiten, es zwingt dich niemand, das zu ändern und auch heute bekommt man noch auf nahezu allen akuelle
windows und linux versionen alle Firebird Versionen >= 1.5 zum laufen. Bei sehr vielen Kunden ist weiterhin FB25 im Einsatz, sehr oft zum Beispiel auch im Bereich medical software, also
Arztpraxen etc. Da ist man scheinbar extrem ablehnend gegenüber neuer
DB Versionen, aber es zwingt einen ja auch keiner.
Wenn ihr heute auf FB4 aufsetzt, dann bekommt ihr dazu noch einige Zeit updates und bugfixes und auch wenn die irgendwann mal wegfallen, zwingt euch keiner, das umzustellen.
Release von FB25 war übrigens Ende 2010! Nach 12,5 Jahren kannst du damit weiterhin gut arbeiten, wenn die Vorteile der neueren Versionen nicht so wichtig sein sollten !
Ein Releasewechsel erfordert eigentlich nur ein Backup unter der älteren Version und ein Restore mit der neuen Version, das geht ohne Probleme auch eingebunden in
Setup Scripte oder mit Hilfsmitteln wie in IBExpert Scripting möglich (wir machen für solche Anforderungen regelmäßig Kundenprojekte und dabei ist es manchmal komplizierter
(character set change,
db owner change, gobal table name changes usw. etc. )
Bzgl Portierung von MariaDB, hängt eigentlich von den Tabellenstruturen ab, die ihr da benutzt. die create table etc befehle kann man eigentlich schnell syntaktisch
umstellen und auf Basis firedac/oder devart unidac oder bei lazaurus eh enthalten kann man sich schnell ein tool zusammenbauen, das die vorhandenen Tabelleninhalte
von mariadb nach Firebird rüberkopiert. ggf kannst du aber auch über tdataset properties auf der mariadb welt schnell den create table für
fb zusammenbauen, wie ihr ihn
haben wollt, passende Datentypen sollten kein problem sein.
Die meisten datapump produkte kann man eh vergessen, weil die oft ziemlich gruselige zieldatentypen erstellen und oft auch sehr lahm sind.
Wenn ihr nicht allzu exotischen
SQL Kram benutzt, kann man auch weiterhin parallel auf Firebird und MariaDB bleiben, oder das über stringkonstanten lösen, die je nach
Plattform einen anderen
SQL String liefern können. Auf dem weg kann man dann auch zB auf einer der Plattformen bestimmte Operationen dann in der Datenbank machen,
gibt oft genug gründe, das zu tun, wenn man weiss das ein delphi client mit glück maximal 2000-5000 records pro sekunde lesen und zurückschreiben kann, das gleiche
aber ggf per servergestützter SP locker auch 10-20 mal so schnell sein kann.