Steffen Pirsigs Twitter
Moderator: Moderatoren
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Steffen Pirsigs Twitter
Tja - ist ganz einfach: Möglichst viel den Server erledigen lassen, damit der Client nicht so viel zu tun hat
Es soll ja "Spezies" geben (auch bei uns in der Bank), die sich mittels select *... erstmal alles geben lassen und dann die Menge am Client nach den gewünschten Treffern durchflöhen...
Viele Grüße,
Martin
Es soll ja "Spezies" geben (auch bei uns in der Bank), die sich mittels select *... erstmal alles geben lassen und dann die Menge am Client nach den gewünschten Treffern durchflöhen...
Viele Grüße,
Martin
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.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Steffen Pirsigs Twitter
hi,
man startet also mehrere Threads, aber die gehen alle auf den "selben" Server.
angenommen eine Application startet 10 Thread und ich habe 10 User ... macht eine "Last" von 100 "Anfragen" ... also wie 100 "Single" User... ?
... ich weiss nicht wie das dann in der Realität aussehen soll wenn die "Last" 10x grösser wird ?
i have a Dream :
beim "Torrent" Systemen funktioniert es doch genau "andersherum" d.h. je mehr "gleichzeitig" online sind desto höher die (Download) Transferraten.
Es gibt nun "Server" (Seeds) und es gibt Clients (Peers) von denen man "gleichzeitig" (Threads) die Teile bekommt.
wenn nun X++ "so was" ähnliches könnte d.h. mehrere Verbindungen zu verschiedenen Server "gleichzeitig" um seine Abfrage zu starten ...
hm ... ja ... aber ...Martin Altmann hat geschrieben:http://databear.wordpress.com/2009/09/
man startet also mehrere Threads, aber die gehen alle auf den "selben" Server.
angenommen eine Application startet 10 Thread und ich habe 10 User ... macht eine "Last" von 100 "Anfragen" ... also wie 100 "Single" User... ?
... ich weiss nicht wie das dann in der Realität aussehen soll wenn die "Last" 10x grösser wird ?
i have a Dream :
beim "Torrent" Systemen funktioniert es doch genau "andersherum" d.h. je mehr "gleichzeitig" online sind desto höher die (Download) Transferraten.
Es gibt nun "Server" (Seeds) und es gibt Clients (Peers) von denen man "gleichzeitig" (Threads) die Teile bekommt.
wenn nun X++ "so was" ähnliches könnte d.h. mehrere Verbindungen zu verschiedenen Server "gleichzeitig" um seine Abfrage zu starten ...
gruss by OHR
Jimmy
Jimmy
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Steffen Pirsigs Twitter
Hallo Jimmy,
was soll das bringen? Du wirst Deine Daten ja kaum auf mehreren SQL-Servern verteilt abgelegt haben - oder
Viele Grüße,
Martin
was soll das bringen? Du wirst Deine Daten ja kaum auf mehreren SQL-Servern verteilt abgelegt haben - oder
Viele Grüße,
Martin
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.
- Manfred
- Foren-Administrator
- Beiträge: 21199
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Steffen Pirsigs Twitter
Doch, Jimmy macht dass. Verlass Dich drauf.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Steffen Pirsigs Twitter
Nun ja - ich sprach ja oben von der clientseitigen Sicht! Natürlich macht es Sinn, die Daten verteilt abzulegen - man braucht kein eigenes DR-System mehr und die Performance kann steigen, wenn man das sinnvoll macht! Aber das ist die serverseitige Sicht! Und die braucht einen Client nicht zu interessieren - der stellt seine Anfrage nach wie vor an genau einen Adressaten - den Manager.
Um den Rest (Server) kümmern sich Leute, die hoffentlich ihr Geld wert sind
Viele Grüße,
Martin
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.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Steffen Pirsigs Twitter
hi,
die DBF´s habe ich schon in 2 "Bereiche" (Kunden / Lager) unterteilt die auf verschiedenen Servern liegen.
Das hat schon eine Menge gebracht da 1/2 der User "nur" auf das Lager zugreifen während die andere 1/2 meistens mit den Kunden (Fibu) zu tun hat.
Wie also soll ich das für "mein" Netzwerk verwenden ohne das ich "massiv" an Hardware für Arctica aufrüsten müsste !?
... und das ganze ist ja wohl auch nicht schneller (bei kleinen Datenmengen ist SQL sowieso langsamer als DBF SEEK)
angenommen "jeder" hätte den kompletten Datenbestand "local" (verschlüsselt), dann hätte man die schnellste "Ladezeit".
Es müssten dann also "nur" Veränderungen "bekannt" gemacht werden damit der Datenbestand der Client´s "aktuell" sind.
genau "das" ist doch das "Torrent" Prinzip, das die Server KEINE Daten sondern nur die "Verwaltung" (Hashtable, Peerlisten etc) beinhalten.
der "Server" regelt also nur den Verkehr der Client´s und "sagt" ihnen "wo/was" vorhanden ist oder geändert wurde.
Diese "Problem" stellt sich z.b. auch bei "offline" Erfassung oder WLAN mit schlechter Verbindung.
Der Mitarbeiter hat auf seinem Notebook ja einen kompletten (verschlüsselten) Datenbestand.
Nachdem er einen neuen Auftrag erfasst hat, "hätte" sich ja was "geändert".
Das muss ich nun dem "Server" mitteilen der es wiederum "den anderen" Clients "erzählt".
Nun muss aber nicht sofort jeder Client darauf "reagieren", den wenn es den Client "nicht betrifft" kann er sich "später" darum kümmern (Priorität).
Es gehen also nur noch minimale Mengen an Daten über das Netzwerk ... oder der Client kann viel mehr gleichzeitige "Anfragen" stellen.
so einen (DBF) "Server" gibt es aber wohl (noch) nicht, also müsste man so ein Ding mal schreiben ... :-"
Martin Altmann hat geschrieben:was soll das bringen? Du wirst Deine Daten ja kaum auf mehreren SQL-Servern verteilt abgelegt haben - oder
ich würde es ja tun wenn es gehen würde...Manfred hat geschrieben:Doch, Jimmy macht dass. Verlass Dich drauf.
die DBF´s habe ich schon in 2 "Bereiche" (Kunden / Lager) unterteilt die auf verschiedenen Servern liegen.
Das hat schon eine Menge gebracht da 1/2 der User "nur" auf das Lager zugreifen während die andere 1/2 meistens mit den Kunden (Fibu) zu tun hat.
schon klar, aber der Client stellt ja 10x so viele "Anfragen" also erzeugt er auch 10x mehr "Last" !?Martin Altmann hat geschrieben:Nun ja - ich sprach ja oben von der clientseitigen Sicht! Natürlich macht es Sinn, die Daten verteilt abzulegen - man braucht kein eigenes DR-System mehr und die Performance kann steigen, wenn man das sinnvoll macht! Aber das ist die serverseitige Sicht! Und die braucht einen Client nicht zu interessieren ...
Wie also soll ich das für "mein" Netzwerk verwenden ohne das ich "massiv" an Hardware für Arctica aufrüsten müsste !?
... und das ganze ist ja wohl auch nicht schneller (bei kleinen Datenmengen ist SQL sowieso langsamer als DBF SEEK)
JA ... aber genau "so" einen Server gibt es ja IMHO nicht, oder ?Martin Altmann hat geschrieben:Um den Rest (Server) kümmern sich Leute, die hoffentlich ihr Geld wert sind
und hier wird es "interessant". Wie müsste sowas aussehen ... theoretisch ...Martin Altmann hat geschrieben:... der stellt seine Anfrage nach wie vor an genau einen Adressaten - den Manager.
angenommen "jeder" hätte den kompletten Datenbestand "local" (verschlüsselt), dann hätte man die schnellste "Ladezeit".
Es müssten dann also "nur" Veränderungen "bekannt" gemacht werden damit der Datenbestand der Client´s "aktuell" sind.
genau "das" ist doch das "Torrent" Prinzip, das die Server KEINE Daten sondern nur die "Verwaltung" (Hashtable, Peerlisten etc) beinhalten.
der "Server" regelt also nur den Verkehr der Client´s und "sagt" ihnen "wo/was" vorhanden ist oder geändert wurde.
Diese "Problem" stellt sich z.b. auch bei "offline" Erfassung oder WLAN mit schlechter Verbindung.
Der Mitarbeiter hat auf seinem Notebook ja einen kompletten (verschlüsselten) Datenbestand.
Nachdem er einen neuen Auftrag erfasst hat, "hätte" sich ja was "geändert".
Das muss ich nun dem "Server" mitteilen der es wiederum "den anderen" Clients "erzählt".
Nun muss aber nicht sofort jeder Client darauf "reagieren", den wenn es den Client "nicht betrifft" kann er sich "später" darum kümmern (Priorität).
Es gehen also nur noch minimale Mengen an Daten über das Netzwerk ... oder der Client kann viel mehr gleichzeitige "Anfragen" stellen.
so einen (DBF) "Server" gibt es aber wohl (noch) nicht, also müsste man so ein Ding mal schreiben ... :-"
gruss by OHR
Jimmy
Jimmy
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Steffen Pirsigs Twitter
Ja - aber dadurch nutzt er die vorhandenen Ressourcen nur besser ausAUGE_OHR hat geschrieben:schon klar, aber der Client stellt ja 10x so viele "Anfragen" also erzeugt er auch 10x mehr "Last" !?
Na klar - schon seit etlichen Jahren!AUGE_OHR hat geschrieben:JA ... aber genau "so" einen Server gibt es ja IMHO nicht, oder ?
Vor über 10 Jahren (ungefähr) hat bereits MS genau so was groß rausgebracht - und die sind (sicherlich) nicht die einzigen! Die Logik wird von den Daten getrennt. Die Speicher (SAN/NAS/was_auch_immer) werden bereitgestellt und dem Server bekannt gemacht. Der nutzt die "Wolke" für seine Daten. Was dabei wo liegt, ist ihm völlig egal (und braucht ihn auch nicht zu interessieren)!
Wir sind gerade dabei, ein Metrocluster hochzuziehen (Metropolitan cluster, also standortübergreifend, innerhalb einer Metropole). Dabei werden in dem Metrocluster (zwei M9000) nicht nur diverse virtuelle Maschinen bereitgestellt, sondern auch (pro M9000) ein Filer. In diesem (untereinander werden ja beide M9000 gespiegelt - natürlich in Echtzeit) liegen alle von den (physikalischen und logischen) Maschinen genutzten Filesysteme.
Die MS-Variante war damals ähnlich aufgebaut - einfach eine Wolke (Cloud) bereitstellen, in der die Daten liegen. Klar kann man innerhalb des SQL-Servers auch einzelne Datenbanken oder auch Tabellen oder Views oder ... gezielt auf verschiedenste Filesysteme auslagern (linkes tables sind hierbei nur ein Stichwort). Wenn man dabei berücksichtigt, dass verschiedenste Filesysteme auf diversen Datenträgern mit unterschiedlichsten Geschwindigkeiten/Latenzen vorhanden sind, kann man damit schon ein wenig tunen.
Viele Grüße,
Martin
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.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Steffen Pirsigs Twitter
welche Resourcen (= Bandbreite)... ich nutze doch schon "maximal" alles aus was geht ...Martin Altmann hat geschrieben:Ja - aber dadurch nutzt er die vorhandenen Ressourcen nur besser aus
angenommen mehrere User sind gleichzeitig in einem Browse und "blättern" ... das erzeugt massive "Last" bis zu 100% beim Client (nix geht mehr ...)
da noch eine Thread aufzumachen geht vielleicht beim DualCore, aber ohne HT macht der PC in solchen Situationen "nichts" (ausser warten ...)
ok das ist mir eine Nummer "zu hoch" und auch eine andere Grössen Ordnung.Martin Altmann hat geschrieben: Na klar - schon seit etlichen Jahren!
Vor über 10 Jahren (ungefähr) hat bereits MS genau so was groß rausgebracht ...
...
Wir sind gerade dabei, ein Metrocluster hochzuziehen...
...
Die MS-Variante war damals ähnlich aufgebaut - einfach eine Wolke (Cloud) bereitstellen...
ich denke mal bei dem M$ Produckt reden wir vom vielen $$$ und massive GB von *.DLL ... der µTorrent Client ist aber nur 300 Kb(!!!)
gruss by OHR
Jimmy
Jimmy
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Steffen Pirsigs Twitter
Hallo Jimmy,
Viele Grüße,
Martin
natürlich tust Du das nicht Wenn dem so wäre, hättest Du ein Riesenproblem! Ein SQL-Server kann nicht durch eine einzelne Anfrage ausgelastet werden - wie sollte er sonst noch andere Anfragen bedienen können Also stellst Du mehrere parallele Anfragen, um mehrere "Häppchen" der verfügbaren Ressourcen zu bekommen. Lies mal den Beitrag durch und betrachte die Tabelle.AUGE_OHR hat geschrieben:welche Resourcen (= Bandbreite)... ich nutze doch schon "maximal" alles aus was geht ...
Viele Grüße,
Martin
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.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Steffen Pirsigs Twitter
Hi,
das Torrent-System hinkt im Vergleich
Denn es stellt nur mehrere identische Quellen zur Verfügung, eine Datenbank mit Schreib- und Lesezugriffen,
müsste man danach noch syncronisieren ...
Ich weiß nicht, ob die Tests über ODBC gingen oder die direkte DLL Eingabe genutzt haben.
Ich hatte vor Jahren bei Test mit SQLExpress() festgestellt, dass die ODBC Schnittstelle lahm ist.
Aber ähnlich wie in ActiveX und Excel liegt die Lösung darin nicht jeden Satz einzeln hochzuladen,
sondern mehrere Sätze zu sammeln und diese dann im 10er oder 100er Pack hochzuladen.
Die genauen Ergebnisse habe ich nicht mehr im Kopf, aber ich meine 10 Block => braucht nur 1/10 der Zeit
das Torrent-System hinkt im Vergleich
Denn es stellt nur mehrere identische Quellen zur Verfügung, eine Datenbank mit Schreib- und Lesezugriffen,
müsste man danach noch syncronisieren ...
Ich weiß nicht, ob die Tests über ODBC gingen oder die direkte DLL Eingabe genutzt haben.
Ich hatte vor Jahren bei Test mit SQLExpress() festgestellt, dass die ODBC Schnittstelle lahm ist.
Aber ähnlich wie in ActiveX und Excel liegt die Lösung darin nicht jeden Satz einzeln hochzuladen,
sondern mehrere Sätze zu sammeln und diese dann im 10er oder 100er Pack hochzuladen.
Die genauen Ergebnisse habe ich nicht mehr im Kopf, aber ich meine 10 Block => braucht nur 1/10 der Zeit
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Steffen Pirsigs Twitter
hi,
Ich will auch nicht die "Transferraten" von "Torrent" System mit einem "local" Netzwerk vergleichen,
sondern eher die "Logic" des Netzwerk (de-Zentral) die dem des Internet entspricht.
Auch ist das Internet ja nicht immer verfügbar und wenn ich dann online gehe möchte ich ihn dann "aktuallisieren".
Diese Situation wäre z.b. bei Aussendienst Mitarbeitern und Notebooks der Fall.
Eine DBF sehe ich nicht als "ganzes" und die "Quelle" stellt für mich 1 Datensatz dar.
Dieser Datensatz soll/muss bei allen identisch sein und in der Summe ist es dann die ganze DBF.
Ich muss ja auch bei einem APPEND pro Datensatz vorgehen wenn ich eine Prüfung der Daten (Termin, Bestand) vornehmen will.
Er müsste es nur "verwalten" und wissen wo der Datensatz ist und die Anfrage dorthin weiterleiten und genau das ist doch das "Torrent" Prinzip.
Der Client hat als "Peer" bei den "Torrent" Prinzip ja mit den anderen "Peer" eine Verbindung und gleicht solange seine Daten ab bis alles "stimmt" .
Das Prinzip könnte man nun ausnutzten um z.b. Termine unter verschiedenen "Peer" auszuhandeln, wenn Überschneidungen existieren.
Erst wenn alle "Peer" ein OK melden werden die Bewegungsdaten Daten per APPEND an die Stammdaten angehängt/editiert.
Frage : wie können mehrere Xbase++ Applicationen "miteinander" kommunizieren ? Xb2Net ?
YUP ...brandelh hat geschrieben:das Torrent-System hinkt im Vergleich
Ich will auch nicht die "Transferraten" von "Torrent" System mit einem "local" Netzwerk vergleichen,
sondern eher die "Logic" des Netzwerk (de-Zentral) die dem des Internet entspricht.
Auch ist das Internet ja nicht immer verfügbar und wenn ich dann online gehe möchte ich ihn dann "aktuallisieren".
Diese Situation wäre z.b. bei Aussendienst Mitarbeitern und Notebooks der Fall.
sorry das ist so nicht ganz richtig. Es kommt ja darauf an welche "Grösse" du mit der "Quelle" meinst.brandelh hat geschrieben:Denn es stellt nur mehrere identische Quellen zur Verfügung,
Eine DBF sehe ich nicht als "ganzes" und die "Quelle" stellt für mich 1 Datensatz dar.
Dieser Datensatz soll/muss bei allen identisch sein und in der Summe ist es dann die ganze DBF.
Ich muss ja auch bei einem APPEND pro Datensatz vorgehen wenn ich eine Prüfung der Daten (Termin, Bestand) vornehmen will.
sag ich doch das dass synchronisieren "das" Problem ist was ein "Server" machen müsste. Der "Server" müsste aber den Datensatz gar nicht selbst "haben".brandelh hat geschrieben:eine Datenbank mit Schreib- und Lesezugriffen,müsste man danach noch syncronisieren ...
Er müsste es nur "verwalten" und wissen wo der Datensatz ist und die Anfrage dorthin weiterleiten und genau das ist doch das "Torrent" Prinzip.
Der Client hat als "Peer" bei den "Torrent" Prinzip ja mit den anderen "Peer" eine Verbindung und gleicht solange seine Daten ab bis alles "stimmt" .
Das Prinzip könnte man nun ausnutzten um z.b. Termine unter verschiedenen "Peer" auszuhandeln, wenn Überschneidungen existieren.
Erst wenn alle "Peer" ein OK melden werden die Bewegungsdaten Daten per APPEND an die Stammdaten angehängt/editiert.
Frage : wie können mehrere Xbase++ Applicationen "miteinander" kommunizieren ? Xb2Net ?
gruss by OHR
Jimmy
Jimmy