Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Grundsatzfrage zu Datenbankprojekt (https://www.delphipraxis.net/165090-grundsatzfrage-zu-datenbankprojekt.html)

jobo 20. Jan 2012 22:20

AW: Grundsatzfrage zu Datenbankprojekt
 
Wenn Du wirklich so große Datenmengen darstellen willst, kommst Du trotz DB Server nicht um eine Clientdatasettechnik rum. (wg Suchgeschwindigkeit, Transferrate und Ressourcenproblemen des Servers)
Dabei spielt natürlich die Anwenderzahl eine Rolle und auch die Hardware.

Durch filigrane Programmierung kann man eine Menge rausholen. Möglich ist vieles, ist aber die Frage wieviel Zeit und Geld man dafür in die Entwicklung steckt.

Eine WildcardSuche der gefragten Größenordnung nach 3 Anfangsbuchstaben mit sortiertem Ergebnis und eingeschränkter Ergebnismenge geht auf einem indizierten Feld unter 0,1 sek. Aber man kann nicht jedes Feld indizieren.

Ob ein gutes Framework in der Mittelschicht per se was bringt, wage ich zu bezweifeln. Die Mittelschicht ist bezogen auf den Server auch schlicht und ergreifend nur ein "Client" mit den gleichen Problemen eines klassischen Client-Server Clients.

mjustin 21. Jan 2012 09:24

AW: Grundsatzfrage zu Datenbankprojekt
 
Zitat:

Zitat von jobo (Beitrag 1146954)
Eine WildcardSuche der gefragten Größenordnung nach 3 Anfangsbuchstaben mit sortiertem Ergebnis und eingeschränkter Ergebnismenge geht auf einem indizierten Feld unter 0,1 sek. Aber man kann nicht jedes Feld indizieren.

Ob ein gutes Framework in der Mittelschicht per se was bringt, wage ich zu bezweifeln. Die Mittelschicht ist bezogen auf den Server auch schlicht und ergreifend nur ein "Client" mit den gleichen Problemen eines klassischen Client-Server Clients.

Google Search ist ein gutes Beispiel. Da ist 'alles' (mehr oder weniger) indiziert, und es ist schnell. 0,1 Sekunden sind eine halbe Ewigkeit (Man bedenke mal, was eine Grafikkarte in der Zeit schafft). Google läuft auf billiger Hardware, ist aber sehr effizient programmiert.

Wenn es schnell gehen soll, wird der gesamte Datenbankinhalt ins RAM geladen (entweder auf einem einzigen oder mehreren verbundenen Rechnern - verteiltes Caching gibt es auch für Delphi), und komplett indiziert.

Die Mittelschicht (der Applikationsserver) kann viel effizienter als ein DBGrid + ClientDataSet sein, man muß sich nur eine effizientere Behandlung von Updates ausdenken. Wenn alles über den Cache geht, ist der Server immer auf dem aktuellen Stand, und braucht 'nie' auf die Datenbank zuzugreifen (sie wird in einem Backgroundprozess aktualisiert).

Warum sollte man nicht z.B. einem Client (Web oder grafisch) vom Server aus aktiv genau den Datensatz zusenden können, der neu aufgenommen wurde und einem gewählten Filter entspricht, statt den Client ein Close / Open / der gesamten Query machen zu lassen? Kompliziert ist es nicht, wenn man berücksicht, dass eine TCP/IP Verbindung immer zwei Richtungen auf einem Socket unterstützt - der Client kann also Nachrichten vom Server erhalten wenn er Lust hat, initiativ welche zu senden.

Das ist es auch, was Webseiten (Google Search) über Ajax erreichen: der Client macht keinen neuen Request auf das HTML Dokument (das dann erst wieder komplett auf dem Server zusammengebaut und an den Client geschaufelt werden müsste): es wird nur der Inhalt z.B. einer HTML Dropdownliste dynamisch um einen weiteren Eintrag ergänzt. Das geht in wenigen Mikrosekunden, auch mit Delphi. (Für eine Art "Chatsystem" auf TCP/IP Basis habe ich jetzt Raten von 30.000 Nachrichten pro Sekunde zwischen Client und Server - auf sehr einfacher Hardware - p.s. der Client ist in Delphi geschrieben, der Server ein Java Open Source Programm).

jobo 21. Jan 2012 10:32

AW: Grundsatzfrage zu Datenbankprojekt
 
Im Prinzip stimmt alles was Du schreibst. Ich bin mir nur nicht so sicher, ob man das Entwicklerbudget und KnowHow von Google und Co hier einfach voraussetzen kann. Auch die Hardware dort ist für sich genommen meinetwegen billig, aber die Masse macht es dann eben. Außerdem wird bei google sicher nicht mit klassischen DB gearbeitet und sie haben mit den Alternativen Technologien auch nicht das Problem, dass sie bis ins letzte Bit ACID brauchen. Schnelle Suche ist DAS google Produkt, der Rest fällt priomäßig unter "ferner liefen".


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 Uhr.
Seite 4 von 4   « Erste     234   

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