Welche Datenbank ist die richtige?

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Sören hat geschrieben:Und ihr greift darüber lesend/schreibend mit einem Xbase-Programm per DBFCDX auf eure Daten zu? Und das in einer akzeptablen Geschwindigkeit?
Also im LAN sind DBF's mit Indexen nach meiner Erfahrung gar kein Problem. Aber mein Test über unser WAN mit DBFNTX hat mich schon nach wenigen Minuten das Handtuch werfen lassen. Allein das Öffnen der DB's + Indexdateien dauerte ca. 10x länger als auf dem lokalen Server.
Hallo Sören,

das Öffnen der DBF und Indexe dauert wesentlich länger als lokal !
Bei den älteren Programmen haben wir die Programme selbst lokal installiert und beim Starten über Versionskontrolle geprüft ob ein Programmupdate nötig war, wenn ja wurden die ZIP Dateien übertragen und installiert.
Beim Programmstart wurden dann die 4 DBFs mit den 4 Indexdateien geöffnet, was etwa 3 bis 6 Sekunden gedauert hat. Danach wurde nur noch über das Aktenzeichen über Index (NTX) auf die Daten einer Person zugegriffen und das ging ohne nennenswerte Verzögerung.
Natürlich ist lokal immer besser.
Dass das nicht optimal war kann man schon daran erkennen, dass ich die neuen GUI Programm nicht mehr Satzweise zugreifen ließ, sondern beim Suchen immer einen guten Indexsuchbegriff erzwungen habe (Aktenzeichen oder 4 Zeichen vom Namen) und dann die Daten der Person geladen habe. Im Programm selbst merte man dann in den neuen GUI keinen Unterschied. Beim Laden und speichern kam es halt auf die Auslastung an, wobei hier 3 Sekunden für 15 Minuten Arbeit bei uns auch kein Problem darstellten. Als wir dies taten wurde ein Programm, das auf etwa 15 einzelnen PCs verteilt auf 6 Lokationen lokal lief auf einen zentralen Datenbestand umgestellt, weil alles andere nicht mehr tragbar war. Die Datenzusammenführung (Dupplettenbereinigung war ein Horror-Job.)

HEUTE mit Citrix/Terminalserver möchte natürlich keiner mehr zurück !

Ich habe auch nie gesagt, dass es aus heutiger Sicht ein empfehlenswerter Weg ist,
aber wenn man keine großen Listen überträgt (dblocate, oder do while ! eof()) geht es auch mit ISDN. Übers Internet würde ich es nicht machen, denn jede Verbindungsstörung kann das Ende der Indexe sein, und auch DSL garantiert keine ungestörte Dauerverbindung.
Gruß
Hubert
Sören
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 205
Registriert: Mo, 07. Aug 2006 10:18
Wohnort: Leipzig
Danksagung erhalten: 11 Mal

Beitrag von Sören »

Hallo Hubert,

danke für Deine Antwort.
Nachdem was Tom und Du geschrieben habt, kann man wohl zusammenfassend sagen, dass man im WAN besser die Finger lässt von Direktzugriffen auf DB's/Indexdateien. Bei hoher Bandbreite und geringem Datenverkehr und einem explizit an diese Situation angepassten Programm ist es u.U. ein Weg, aber kein wirklich sicherer.

Tschüs,
Sören
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Beitrag von Markus Walter »

Hallo Sören,

wie Tom bereits geschrieben hat, ist für solche Anforderungen ein Terminal-Server ggf. eine gute (ideale) Lösung:

+ Praktisch keine Anpassungen der Software notwendig
+ schnell
+ absolut sicher, was die Stabilität der Daten angeht (eine abgebrochene Verbindung wirkt sich nicht aus, da die Software auf dem TS läuft)

- man braucht einen Server (TS kann je nach Auslastung auf einem bestehenden Server aktiviert werden)
- Zugriffslizenzen für die Clients kosten Geld (hängt also davon ab, wieviel Clients zugreifen müssen (wenn man als Server Win2000 verwendet, brauchen alle angeschlossenen PCs, die Win2000 oder XP fahren keine Zugriffslizenz zu kaufen, ist quasi eingebaut, ab Win2003-Server muss man auch für diese Stationen Lizenzen kaufen...)
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf »

mit dem Terminal Server kann ich nur zustimmen, ist mein Favorit. Bei einem Kunden z.B. läuft mein Programm über Terminalserver und XDSL Anbindung schneller als bei mir hier lokal. Kommt natürlich auf den Server an. Aber ist sehr sicher, da alles lokal am Server läuft. Und noch ein Vorteil: ich lasse immer eine andere Firma den Terminalserver installieren bzw. den Betreuer des Kunden, und habe dann keine Verantwortung bzw. Erklärungsnotstände bei Netwerkproblemen mehr. Meine Dinge laufen ja alle lokal am Server.
Grüsse
Rudolf
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

XB2.NET und Performance

Beitrag von Martin Altmann »

Hallo allerseits,
da hier in diesem Thread ja das Thema Performance und Webserver am Rande auch eine Rolle spielte ( :arrow: Hubert), noch ein kurzer Einwurf von mir.
Ich habe gerade mal meine XB2.Net-Logfiles analysiert.
In dem Monat, der mir als "heißester" Monat in Erinnerung geblieben ist, haben in der Spitze 18 Zugriffe in einer Minute stattgefunden.
Um zu sehen, ob mich meine Erinnerung nicht getrogen hat, jage ich mein Auswertungsskript gerade über meine kompletten Logfiles (seit Oktober 2004, knapp 60 MB).
Mal sehen, ob sich an dem Spitzenwert noch was ändert...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Antworten