Posts mit dem Label Firebird werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Firebird werden angezeigt. Alle Posts anzeigen

Donnerstag, 31. März 2016

Datenbanksystem Firebird

Firebird als Datenbank unter Ubuntu

Auch, wenn die Mehrzahl der Datenbanken auf MySQL läuft, gibt es sicher auch einen Bedarf an Firebird, gerade weil die ein oder andere Warenwirtschaft  darauf aufsetzt.
Aus Performance-Sicht ist Firebird auf Linux
sehr zu empfehlen.

Bevor es zur Installation geht, ein kurzer Überblick über die verfügbaren Versionen:

Classic Server
Der Classicserver benutzt für jede eingehende Verbindung einen eigenen Prozess. Auf Multiprozessorsystemen kann er mehrere CPU Kerne nutzen und die Last verteilen. Jede Verbindung bekommt einen eigenen Cache.
Bringt bei wenigen Verbindungen die beste Leistung. Da aber viele Prozesse laufen, wird der Speicher entsprechend belastet.

SuperServer
Der Superserver benutzt nur einen Prozess und mehrere Threads für eingehende Verbindungen. Alle Verbindungen nutzen einen Cache. Mehrere CPU's werden nicht unterstützt. Auf Multiprozessorsystemen keinen Geschwindigkeitsvorteil. Bringt bei vielen Verbindungen die beste Leistung.

SuperClassic
SuperClassic benutzt für jede Verbindung einen Thread und einen Cache, ermöglicht aber die Nutzung von mehreren CPU Kernen. Kombiniert die Vorteile von Superserver und ClassicServer, aber erst ab Firebird 2.5 verfügbar.


Installation
Die Installation habe ich mittels aptitude durchgeführt:

aptitude install firebird2.5-superclassic

Anschließend werden von Ubuntu die benötigten Pakete aufgespielt. Um die Datenbank nutzen zu können, müssen noch der Benutzer und die Gruppe "firebird" angelegt, sowie das Hauptkennwort gesetzt werden. Das erledigt man mit dpkg-reconfigure:

dpkg-reconfigure firebird2.5-superclassic

Während der Paketmanager die Datenbank einstellt, wird man auch nach dem Kennwort für den Hauptbenutzer gefragt.

Die Einstellungsdateien befinden sich unter /etc/firebird/2.5

An der firebird.conf habe ich zunächst nichts verändert. In der aliases.conf habe ich einen Datenbankalias eingerichtet, sodass man die Datenbank nicht immer mit komplettem Pfad ansprechen muss. Wenn man nicht über einen Alias geht, muss man den kompletten Pfad aus Sicht des Servers mit angeben.

# ------------------------------
# List of known database aliases
# ------------------------------
#
# Example Database:
#
employee.fdb = /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb
employee = /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb
#
# Live Databases:
#
datenbank = /daten/datenbank.fdb


Hier habe ich der Datenbank /daten/datenbank.fdb den Alias Datenbank zugewiesen. Man muss natürlich darauf achten, dass man für die Datenbankdatei und die Verzeichnisse dahin, die richtigen Zugriffsrechte für den Benutzer firebird setzt.

Um einen Benutzer anzulegen, nehmen wir den Firebird Befehl gsec:

gsec -user sysdba -pass hauptpassword -add benutzername -pw benutzerkennwort

Hiermit legen wir den Benutzer "benutzername" mit dem Kennwort "benutzerkennwort" an, der Benutzer sysdba mit dem Hauptpassword wird während der Datenbankeinrichtung mittels dpkg-reconfigure eingerichtet.

Wenn man fertig ist, kann man die Datenbank neustarten mit:

/etc/init.d/firebird2.5-superclassic restart