AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Datentransfer von mehreren Clients an einen Server über LAN
Thema durchsuchen
Ansicht
Themen-Optionen

Datentransfer von mehreren Clients an einen Server über LAN

Ein Thema von Tempdir · begonnen am 19. Feb 2009 · letzter Beitrag vom 20. Feb 2009
Antwort Antwort
Seite 3 von 4     123 4      
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#21

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 09:13
Zitat:
Wie schaut die Verbindung zwischen Clients und Server aus? LAN?
Ja! Über Netzwerk.

Wenn ich deine Realisierung richtig verstehe, dann entspricht das in etwa meiner Idee auf Seite 1 des Threads.

Darf ich fragen wieviele Clients ihr habt, und wie oft von denen Daten abgeholt werden (z.B. in der Minute, oder Sekunde...).

Und vielleicht noch was für Delphi-Komponenten bzw. Datenbanksystem zum Einsatz kam.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#22

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 09:19
Jep, nur das wir keine Flags in den Datensätzen nehmen. Die sind nämlich nach einem delete auf den Datensatz weg

Derzeit hängen vier Standorte dran. Angebunden über Internet via VPN. Die Daten werden alle 3 Minuten abgeholt. Die Datenmenge variiert. Bei den kleineren Standorten ca. 50 Datensätze pro Zyklus bei den großen bis ca. 150. Angeschlossen werden noch drei bis vier weitere Standorte auch im Ausland. Als Zugriffskomponenten verwenden wir derzeit IBX. Die Datenbanken sind ein Gemisch aus 1.5er und 2.1er Firebirds. Da die VPNs (gerade ins Ausland) gerne mal zusammenbrechen wird jede Änderung in eine eigene Transaktion gepackt.

Und da sind wir auch schon beim Problem Geschwindigkeit. Firebird (besonders die 1.5er) sind über Internet verdammt langsam. Aber sonst funktioniert's eigentlich
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#23

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 10:11
Das hört sich alles gut an!

Bei mir ist Geschwindigkeit ein wichtiges Kriterium. Die Clients sind aber alle in einem LAN, jedoch sollte der Server schon mehrere Datensätze pro Sekunde einlesen können.

Ich hab mir das so gedacht, dass wenn es z.B. 5 Clients gibt, der Server immer zyklisch alle 5 clients durchgeht und von jedem dabei z.B. einen Datensatz abholt. Ich muss mal testen wie schnell sich die IP bei den IB-Komopnenten wechseln lässt und wie lange ein Transfer von einem Datensatz dauert.

Die Client-DB soll ca. 100.000 Einträge haben. Ich frage mich wie da die Zugriffszeiten sind? Mit MySQL dauerte ein einfacher SELECT ein "Wimpernzucken", allerdings hab ich mit Firebird in der Hinsicht NULL Erfahrungen.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#24

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 10:22
In nem LAN dauert das mit FB auch nicht länger. Selbst via VPN nach China gehen gehen mehrere Queries pro Sekunde ohne Probleme. Aber statt 100 halt nur 5 oder so

Warum immer nur einen Datensatz? Dann biste ja mehr am Verbindung auf- und abbauen als am Daten übertragen. Aufbauen alles holen was da ist und weiter zum nächsten.

Client-DB Größe ist relativ egal. Wir dürften inzwischen irgendwo bei 2 Millionen Datensätzen je Standort liegen.
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#25

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 10:29
Ja eigentlich würde es mehr Sinn machen gleich 5 oder mehr zu holen, es ging nur darum, dass alle Clients mal bedient werden und deren "maximal 100.000 Einträge-DB" nicht überläuft (also der Puffer).

Ich versuche mich gerade über die IB-Komponente mit einem Firebird-Server auf einem anderen Rechner zu verbinden, aber irgendwie klappt das nicht. Auf meinen lokalen FB-Server kann ich problemlos zugreifen. Immer diese Probleme
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#26

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 10:30
Wieviele Datensätze kommen denn pro Sekunde / Minute / Stunde in den Client-DBs dazu bzw. werden geändert?

Zum Problem: Port in der Firewall freigegeben?
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#27

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 10:39
Also die Clients fügen im Maximalfall einen Datensatz / Sekunde in ihrer Tabelle hinzu (diese ist wie gesagt auf 100.000 Einträge beschränkt, wird danach von neuem überschrieben).

PERFEKT ! Danke, es lag wirklich an der Firewall Und die Daten von C:\TestDB.fdb weden auch angezeigt. Wie es scheint dauert der Verbindungsaufbau aber 1-2 Sekunden. Dann macht es wohl Sinn mehr als nur einen Datensatz zu übertragen. Hoffentlich sind die SQL-Queries nicht so langsam
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#28

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 10:44
Na dann haste ja einen Puffer von ~24 Stunden. Das sollte kein Problem sein.

1-2 Sekunden? Nur für die Verbindnung? Da muss noch was faul sein. Wenn ich einfach nur die Verbindung aufbau, passiert das im LAN mehr oder weniger sofort.
  Mit Zitat antworten Zitat
Tempdir

Registriert seit: 19. Feb 2009
Ort: Karlsruhe
84 Beiträge
 
RAD-Studio 2009 Pro
 
#29

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 10:58
Ok, woher die Verzögerung kommt kann ich NOCH nicht sagen.

Was mir noch sehr schwer fällt ist das Erstellen von Firebird DBs Bei MySQL gibt es ja den phpMyAdmin mit dem alles supereinfach geht.
Bei Firebird hab ich es zwar geschafft eine Tabelle zu erstellen (über das Pendant zu phpMyAdmin <-> WebAdmin) aber das mit dem Primary-Key blick ich einfach nicht . Zwar kann ich ein Feld als "Primary_Key" definieren, aber anscheinend benötigt man noch so etwas wie einen "Generator" usw. für die AutoIncrement Funktion?

Kurz gesagt: Ich möchte ein Feld Namens "ID" das als Primary Key (Integer) definiert ist.

Hab auch mal dieses "SQL Maestro" getestet, aber dort verstehe ich die Optionen für den Primary Key nicht.

Kann mir da jemand einen Tipp geben?
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#30

Re: Datentransfer von mehreren Clients an einen Server über

  Alt 20. Feb 2009, 11:04
Als Admintool empfiehlt sich z.B. IBExpert.

AutoIncrement Felder gibt es in Firebird nicht. Statt dessen gibt es sogenannte Generatoren. Das ist im Grunde ein Interger, das auf Anforderung hochgezählt wird.

Sieht dann in etwa so aus:
insert into Testtabelle (PK_Feld, Feld1, Feld2) values (GEN_ID(Generatorname, 1), 'Wert', 'Wert) Den Generator kann man anlegen über
create generator Generatorname

EDIT:
Man kann mittels eines Triggers das AutoIncrement auch simulieren.

Weitere Infos zu den Unterschieden Migration MySQL nach Firebird
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz