Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird embedded und Events (https://www.delphipraxis.net/179128-firebird-embedded-und-events.html)

Perlsau 16. Feb 2014 12:56

Datenbank: Firebird • Version: 2.5 • Zugriff über: IbDac

Firebird embedded und Events
 
Moin allerseits,

ich entwickle eine multiuserfähige Datenbank-Anwendung für einen Kunden, der dafür keinen Server bereitstellen kann/will, sondern möchte, daß Datenbank und Anwendung auf einem Netzlaufwerk liegen, auf das alle potentiellen Anwender Zugriff haben. Das stellt eigentlich kein Problem dar, wäre da nicht der leidvolle Umstand, daß mit der Embedded-Variante keine Datenbank-Events weitergegeben werden können, da kein gemeinsamer Server existiert. Die mit der Datenbank verbundenen Clientrechner sind aber darauf angewiesen, auf Änderungen an der Datenbank, die ein beliebiger Client gemacht hat, reagieren zu können. Natürlich kann ich via Timer alle paar Sekunden die entsprechenden Queries refreshen, eine andere Möglichkeit ist mir bislang leider nicht eingefallen. Die Clientrechner befinden sich alle im selben Netzwerk.

Hat irgend jemand eine Idee, wie man es sonst noch realisieren könnte, daß jeder Client jede Änderung an der DB, die von einem anderen Client ausgelöst wurde, mitbekommt? Ansonsten muß ich wohl noch weitere Überzeugungsarbeit bei meinem Kunden leisten, damit er einsieht, daß ein Datenbank-Server weitaus mehr Vorteile bietet.

mkinzler 16. Feb 2014 13:25

AW: Firebird embedded und Events
 
Du könntest z.B. das Eventsystem basierend auf Netzwerkbroadcasts selber Nachbauen. Das wäre aber imho nicht ratsam. Bei mehreren Benutzern führt eigentlich kein Weg an einem Server vorbei.
Wenn es keinen Server gibt könnte auch ein Client die Serverfunktionalität übernehmen; auch dynamisch ( 1. Client ist Server).
Aber bei mehreren Clients bietet sich ein Server auch unabhängig von Deinem Programm an.

Perlsau 16. Feb 2014 13:36

AW: Firebird embedded und Events
 
Der Begriff "Netzwerkbroadcasts" war mir bis dato völlig unbekannt, werd' ich aber gleich im Anschluß mal recherchieren.

Wie das mit dem dynamischen Server funktionieren soll, ist mir nicht so recht klar: Woher wissen die Clients auf den später eingeschalteten Rechnern, ob schon ein anderer gestartet wurde? Laut Administrator des dortigen Systems ist dort angeblich kein Serverbetrieb möglich, da alle PCs (ca. 50) via Switch miteinander verbunden sind (wovon ich auch keine Ahnung habe). Ich hatte auch schon vorgeschlagen, einen der vier Büro-PCs (die anderen sind Schulungs-PCs in einem separaten Schulungsraum) als Server einzusetzen, das wollte der Admin jedoch nicht (keine Ahnung warum). Ich mach das hier zu Hause ja genau so: Einer meiner Rechner ist Datenbank-Server, obwohl ich den auch zum Entwickeln Testen benutze. Und die Datenbank-Datei kann ja trotzdem auf dem Netzlaufwerk verbleiben, eigentlich sogar die ganze Anwendung ...

mkinzler 16. Feb 2014 14:00

AW: Firebird embedded und Events
 
Ein Broadcast geht an alle Rechner eines Ethernet-Segmentes.

Der erste Client schreibt sich bzw. seine Adresse in eine Ini oder XML-Datei. Die weiteren Clients können diese dort Auslesen.

Btw. 50 Clients im Peer-To-Peer Betrieb finde ich sehr komisch.

Perlsau 16. Feb 2014 14:10

AW: Firebird embedded und Events
 
Zitat:

Zitat von mkinzler (Beitrag 1248062)
Ein Broadcast geht an alle Rechner eines Ethernet-Segmentes. Der erste Client schreibt sich bzw. seine Adresse in eine Ini oder XML-Datei. Die weiteren Clients können diese dort Auslesen.

Ahaaa! Und wenn der erste Client ausgeschaltet wird, löscht er seinen Eintrag wieder. Potentielle Gefahr: Wer als erstes kommt, geht meistens auch als erstes und schaltet seinen Rechner aus, währen die anderen noch dranhängen. Klingt irgendwie nicht sehr erfreulich ...

Zitat:

Zitat von mkinzler (Beitrag 1248062)
Btw. 50 Clients im Peer-To-Peer Betrieb finde ich sehr komisch.

Wie gesagt, ich hab von der dortigen Vernetzung keinen blassen Schimmer. So wußte ich bis eben auch nicht, daß Switches Peer-To-Peer-Verbindungen nutzen. Es handelt sich um einen Verein mit wenig Geld ... vermutlich wäre jede andere Lösung zu teuer ...

mkinzler 16. Feb 2014 14:23

AW: Firebird embedded und Events
 
Peer-To-Peer bedeutet ohne Server. Mit den Switches hat das nichts zu tun, auch wenn der Admin das zu meinen scheint. Ich habe ca 10 Server mit über 100 Clients zu verwalten und verwende auch Switches ( wie ca 100% aller Netze).

Wenn ein anderer Client keine Verbindung mehr zum Server bekommt, muss er dann natütlich einspringen.

Aber bei 50 Clients muss eigentlich ein Server her. Ich frage mich wie er ohne Server seine Benutzer verwaltet ( auf jedem Client alle Nutzer anlegen oder auf Authentifizierung verzichten; beide eigentlich keine Optionen!)

Bei 50 Clients kommt denen imho jede serverlose Lösung auf die Dauer teurer.

Auf wie vielen Clients läuft Deine Anwendung?

Perlsau 16. Feb 2014 14:50

AW: Firebird embedded und Events
 
Zitat:

Zitat von mkinzler (Beitrag 1248067)
Peer-To-Peer bedeutet ohne Server. Mit den Switches hat das nichts zu tun, auch wenn der Admin das zu meinen scheint. Ich habe ca 10 Server mit über 100 Clients zu verwalten und verwende auch Switches ( wie ca 100% aller Netze).

Es gibt nur drei Benutzer auf allen PCs: Admin, Büro und Allgemein. Das Passwort für Allgemein ist auch Besuchern bekannt, weil der Verein Besuchern kostenlosen Internetzugang zur Verfügung stellt (für Job-Recherche und Online-Bewerbung). Auch an den Schulungs-PCs meldet man sich gewöhnlich mit Allgemein an. Die Mitarbeiter verfügen zusätzlich über das Büro-Passwort, und der Admin allein über das Admin-Passwort. Alle drei User sind auf allen PCs gleich angelegt.

Übrigens ist es wohl nicht der dortige Admin, der keine Ahnung hat, sondern ich :cyclops:

Zitat:

Zitat von mkinzler (Beitrag 1248067)
Wenn ein anderer Client keine Verbindung mehr zum Server bekommt, muss er dann natütlich einspringen.

Das hab ich jetzt eher nicht verstanden :?:

Zitat:

Zitat von mkinzler (Beitrag 1248067)
Aber bei 50 Clients muss eigentlich ein Server her. Ich frage mich wie er ohne Server seine Benutzer verwaltet ( auf jedem Client alle Nutzer anlegen oder auf Authentifizierung verzichten; beide eigentlich keine Optionen!)

Keine Ahnung, ob er Benutzer verwaltet. Wie gesagt, es sind nur drei Benutzer auf allen PCs verfügbar. Zwei der Büro-PCs werden immer von denselben beiden hauptamtlichen Mitarbeitern verwendet (die auch täglich anwesend sind), die beiden anderen Büro-PCs von den ehrenamtlichen, die nur stunden- oder tageweise dort arbeiten. Es soll aber auch möglich sein, daß ein Mitarbeiter auf den Schulungsraum ausweichen kann, wenn alle anderen Plätze belegt sind. Schulungen finden meist abends oder Samstags statt, wenn der Tagesbetrieb (Beratungen) beendet ist.

Zitat:

Zitat von mkinzler (Beitrag 1248067)
Bei 50 Clients kommt denen imho jede serverlose Lösung auf die Dauer teurer.

Keine Ahnung. Meist sind ja eh nur um die 10 PCs eingeschaltet, nur bei Schulungen, die der Admin dort abhält, sind auch die Schulungs-PCs in Verwendung. Ich kann das nicht wirklich beurteilen, was teurer und was billiger wäre. Werde mich nochmal eingehend erkundigen müssen.

Zitat:

Zitat von mkinzler (Beitrag 1248067)
Auf wie vielen Clients läuft Deine Anwendung?

Also die Anwendung soll in der Regel nur auf vier Clients gleichzeitig laufen. Mehr Mitarbeiter sind nur selten gleichzeitig vor Ort. Die Anwendung soll aber von allen PCs aus aufgerufen werden können, so daß der Admin, der derzeit auch Kassenwart ist, z.B. auch vom Schulungsraum aus seine Arbeit machen kann, wenn in den Büros gerade Beratungs-Termine stattfinden. Zum Netzlaufwerk hat man nur Zugang, wenn man mit Büro oder Admin an einem der PCs angemeldet ist.

P.S.: Ich hab gerade mit dem Admin telefoniert, es sind "nur" 35 PCs, ich hatte nur geschätzt, nachdem ich am vergangenen Freitag kurz dort gewesen bin.

Sir Rufo 16. Feb 2014 14:57

AW: Firebird embedded und Events
 
Was für ein Gerät stellt denn das Netzlaufwerk zur Verfügung?
  • Windows-Rechner: Firebird-Server dort installieren
  • Linux-Rechner: Webserver mit php-Skript
  • Dummes NAS: doof

Perlsau 16. Feb 2014 14:59

AW: Firebird embedded und Events
 
Ist nur ein externes Laufwerk mit Netzwerkanschluß ...

mkinzler 16. Feb 2014 15:15

AW: Firebird embedded und Events
 
Da kommt er an welches. Es gibt für manche auch Pakete zum Nachinstallieren.
Alternativ installiert man einen anderes OS darauf ( war letztens ein Artikel in der c't).
Oder nimmt einen Microserver


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
Seite 1 von 2  1 2      

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