EKKi: Datenbanken und ähnliches im Vergleich

Beitrag lesen

Mahlzeit phil,

Ich habe mir als 3. dann mal das ganze System angeschaut und erst einmal geschlagene 6 Stunden gebraucht um die Datei mit dem "ich klicke auf Biete" Query zu finden, bzw den Queries, es sind nämlich alleine 8 Queries die bei jedem Biete Klick abgefeuert werden - wie gesat, es geht gar nicht.

Der Hoster (Rackspace) welcher den Server wartet (Managed Hosting) schrieb ebenfalls:

Based on what you've told me and the tickets you posted on myrackspace,
the main bottleneck is the database. The code needs to be more efficient
and maybe the database design can be improved.

Allein dieser Abschnitt ist für mich ein ganz klares Zeichen, dass

1.) das Datenbankdesign überarbeitungswürdig ist und dass

2.) der Code vermutlich von Grund auf neu geschrieben werden sollte.

Zu einem anderen Datenbanksystem zu wechseln weil "die Datenbank das Problem ist", halte ich für extrem übertrieben - weil "die Datenbank" (im Sinne von "das verwendete rDBMS") nämlich eigentlich gar nicht das Problem zu sein scheint, sondern die Verwendung der Datenbank (also die Tabellenstrukturen, die Art und Menge der Abfragen sowie der Code, der diese erzeugt).

Setze also an der richtigen Stelle an und behebe erst einmal die ganz offensichtlich bestehenden, gravierenden Probleme.

Wenn die Struktur dann sauber ist und der Codee effizient und dann *immer noch* Performance-Probleme auftreten, kannst Du - bei einem sauberen Schichtenmodell - das darunterliegende Datenbanksystem einfach gegen eins austauschen, dass Deinen Ansprüchen besser genügt. Das sollte aber immer eher einer der letzten Schritte sein.

Pferde zäumt man normalerweise auch nicht von hinten auf ...

Gut da steht nichts von Software-Wechsel.

Richtig. Aus gutem Grund nicht.

Kann es denn Schaden? Ich denke nicht.

Ich denke schon. "Never change a running system" - und da Du ja eh umfangreiche Änderungen vor hast, solltest Du Dich vielleicht erst einmal darauf konzentrieren. Wenn Du diese Änderungen vernünftig umsetzt, kannst Du anschließend immer noch das DBMS austauschen, wenn es nötig sein sollte.

Ein besseres Datenbank-Design habe ich längst im Kopf.

Dann setze doch erst einmal das um. Und bereinige bzw. entsorge den alten Schrott-Code (ich darf den doch so bezeichnen - hast Du schließlich auch ungefähr?).

Ich nehme gerne Hilfe an. Auf MongoDB zu verzichten und lieber PostgreSQL/MySQL und memcached + APC zu verwenden ist für mich einfacher.

Dann mach erstmal das. Ein Schritt nach dem anderen.

Ich wette, dass allein durch ein vernünftiges Datenbankdesign und effizienten Code schon ein immenser Performancegewinn erzielbar ist.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|