![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBX
Mehrere Firebird Server als Dienst auf einem Rechner
Hallo Leute,
ich hatte mal eine Frage zu Firebird. Ich habe hier ein Datenbak mit einige Daten ca. 1 GB. Die Daten müssen jede Woche überprüft geändert und eventuell neue Daten eingefügt werden. Die Daten bekomme ich per Excel und ein Delta Abzug ist aus der Anwendung nicht möglich. Also prüfe ich jeden Datensatz auf Veränderungen und ergänze bzw. füge die Daten neu ein. Im Anschluß werden die Daten neu berechnet. Dieses Dauert jewals ca. 7 Stunden. (Läuft zur Zeit noch unter Interbase ) Nun komme ich zu meinem Problem. Was ich bis jetzt für uns erledigt habe soll ich nun für noch 7 weitere erledigen. Firebird kann ja nur mit einen Prozessor Kern umgehen. Aus diesem Grund war meine Vorstellung einen aktuellen Server zu kaufen und darauf Virtuelle Maschinen laufen zu lassen. Das einfügen und vor allem die Berechnung sollte über das Wochenende laufen. Bei uns wir sehr gere gespart und mir wurde dieses vorgeschlagen: Es wird der alte Server benutzt und wir starten einfach 8 x den Firebird als Dienst jewals auf einem anderen Port. Da der jetzige Server ein Quadcore ist (Xeon) sollte jeder Dienst einen Prozessor bekommen. Somit sollte die 8 nicht viel langsamer sein als wenn nur einer mit einem Prozessor läuft. Kann ich 8 Versionen als Dienst von Firebird überhaupt starten und kommt es eventuell zu Problemen ? Was macht denn da der Guardian ? Wenn einer ein Problem hat startet er dann einfach alle 8 neu ? Manche Leute kommen auf Ideen. Überigens der "Server" hat 4 GB Hauptspeicher :-D Ich hoffe Ihr habt einige Argument für mich um es den Herren bei uns auszureden bzw. ich hoffe es geht überhaupt nicht. :shock: :o Danke Dumpfbacke |
AW: Mehrere Firebird Server als Dienst auf einem Rechner
Nur die SuperServer Version ist auf einen Kern beschränkt. Das gilt nicht für die Classic oder die mit Fb2.5 eingeführte SuperClassic Variante
|
AW: Mehrere Firebird Server als Dienst auf einem Rechner
Hallo,
hört sich mühsam an die Daten alle zu prüfen und dann einzutragen. Kann man so etwas nicht automatisieren? Es gibt bei Firebird doch z.B. das "UPDATE OR INSERT" Kommando. Excel-Daten kann man als CSV-exportieren und sich dann eine Routine bauen, die dies dann in die Firbird-Datenbank einträgt. Gruß Ralf |
AW: Mehrere Firebird Server als Dienst auf einem Rechner
Du schreibst oben im Header, dass Ihr eh schon die 2.5 von Firebird im Einsatz habt. Warum nehmt Ihr dann, wie Markus auch schon schrieb, nicht einfach den SuperClassic statt dem SuperServer und stellt in der firebird.conf bei CpuAffinityMask = 15 = $F = b1111 für vier Kerne und gut ist, oder nicht? Ein einziger Server kann sich dabei mit Threading um mehrere Connections und mehrere Datenbanken kümmern.
Die Krücke mit acht Instanzen pro Superserver ist und bleibt eine solche. Mit VM's ebenso, weil diese erfahrungsgemässer nicht gerade schneller sind. |
AW: Mehrere Firebird Server als Dienst auf einem Rechner
|
AW: Mehrere Firebird Server als Dienst auf einem Rechner
Hallo,
SuperServer kann auch von SMP einen Nutzen ziehen, allerdings nur dann, wenn mehre Datenbanken im Spiel sind. Sind mehrere Datenbanken unter der Obhut eines SuperServer Prozesses, dann können die Client-Requests für unterschiedliche Datenbanken auf mehrere CPUs verteilt werden. Dazu darf aber der SuperServer Prozess in der firebird.conf nicht auf eine CPU beschränkt sein. SuperClassic und Classic können auch mehrere Requests auf ein und die selbe Datenbank auf mehrere CPUs verteilen. Bei diesen Architekturen muss man halt mit den Page Buffers vorsichtig sein, damit man nicht übers Ziel hinausschießt, vor allem, wenn man mit der Datenbank aus der SuperServer Welt kommt. In meinem von Alex angegebenen Artikel ist ein Architekturvergleich drinnen. Leider ist da dem Verlag beim Layouten ein Fehler passiert, nämlich wurden die Spalteüberschriften nicht mitangedruckt, d.h. man weiss nicht, um welche Architektur es sich handelt. Von links nach rechts: SuperServer, SuperClassic, ClassicServer, Embedded Oder das Ganze vollständig in Englisch nochmal hier: ![]() Für dich heißt das: Sofern es ein 64-bit Betriebssystem ist, dann würde ich SuperClassic nehmen. Bei 32-bit Classic. HTH. Thomas |
AW: Mehrere Firebird Server als Dienst auf einem Rechner
Hallo Jungs,
vielen Dank für die zahlreichen und schnellen Informationen. Wenn ich die Zeitschriften einmal lesen würde wenn ich Sie mir schon kaufe hätte ich den Bericht auch gesehen. Nun ja wie immer mal schnell überfolgen und das wichtigste übersehen. Wir haben Firebird noch nicht im Einsatz. Das Programm welche wir hier benutzen ist leider etwas größer (350 MB Source Code) und ist somit nicht mal schnell an Firebird anzupassen. Das letzte Modul soll nun heruasgelöst werden und als erstes auf Firebird umgestezt werden. Der Import geht leider nicht so einfach. Es sind ca. 80 Excel Tabelle. Es muß hier auch noch gewisse Zeichen ausgetauscht werden. Ich habe für den Import schon extra eine Stored Procedure benutzt um hier etwas schneller zu werden. Was mich hier jedoch wundert ist das er schneller Updaten als Inserten kann. Das kann ja noch ein Porblem vom alten INterbase sein und ich habe gelesen das Firebird schneller sein soll. Nun ja ich werde als erstes einmal die Tips von Euch umsetzten und mich ggf nach mals melden. Vielen Dank schon mal an alle hier Ihr seit einfach nur super :thumb::thumb::thumb: |
AW: Mehrere Firebird Server als Dienst auf einem Rechner
Zitat:
danke für Deine Antwort. Könntest du mir hier genau erklären was du damit meinst. Wo kann ich Page Buffers einstellenund welchen Wert sollte ich denn dort benutzen ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz