Vinzenz Mai: Sauber planen oder Performance verbraten?

Beitrag lesen

Hallo Christof,

Ich plane die Entwicklung einer Webanwendung die vorraussichtlich sehr viele Einzelabfragen an die Datenbank stellt. Ich sage einfach mal als Zahl 500-1000 Abfragen pro Seitenaufbau.

dann liegt mit Sicherheit fehlerhafte Planung vor. Die Performance wird selbst mit dem performantesten Datenbankmanagementsystem (DBMS) auf der performantesten Hardware unzureichend sein. Ich kann mir ehrlich gesagt nicht vorstellen, warum man so viele Abfragen benötigen sollte. Ich vermute, dass sich an Deinen SQL-Statements viel machen lässt.

Da ich noch nie in dieser Größenordnung gearbeitet habe fällt es mir schwer vorzustellen wie stark dies an der Performance zieht. Es würde sich stets um Einzelabfragen, also Auswahl EINES Datensatzes handeln.

Warum wählt jede Abfrage genau einen Datensatz aus? Warum nicht eine hübsche Abfrage gestalten, die Dir die 500-1000 Datensätze in einem zurückliefert. Das ist die eher übliche Vorgehensweise.

Ich vermute deswegen, dass sich Deine 500-1000 Abfragen drastisch reduzieren lassen könnten, wenn Du JOIN, UNION, SUBSELECT, Views, Stored Procedures, ... nutzt, das heißt die Möglichkeiten von SQL richtig ausreizt. Dazu läßt sich ohne Kenntnis dessen, was Du im Detail vorhast, natürlich nichts Konkretes sagen.

Des Weiteren könnten die einzelnen Tabellen wohl recht umfangreich werden.

das ist kein Problem. Dafür sind DBMS da.

Was würdet Ihr empfehlen zu nutzen (reicht eine MySQL-DB aus?)?

Mit wievielen Seitenaufrufen in welchem Zeitraum rechnest Du? Eine Seite pro Minute? Dann sollte ein einzelner Datenbankserver noch ausreichen. Du könntest natürlich einen hübschen Cluster verwenden, wenn Du Dir das leisten kannst.

Gibt es offizielle Performancetests?

Was verstehst Du unter "offiziell"?. Es gibt Benchmarks für Datenbanken. Und die fallen je nach Anforderungen und Auftraggeber unterschiedlich aus. Es geht um die konkrete Optimierung Deiner Abfragen mit Deinem Datenbestand.

Was schätzt ihr ein : Wieviel Verzögerung würde eine solche Menge Abfragen ergeben?

Eine enorme. Wie ich bereits schrieb: Plane um.

Freundliche Grüße

Vinzenz