Guten Morgen,
ich habe die Befürchtung, dass mir demnächst meine Datenbank um die Ohren fliegt und möchte deshalb rechtzeitig vorsorgen.
Die meisten Daten sind statisch gecached und belasten die DB kaum. Hauptproblem ist eine einzige Tabelle, die immer voller wird. Der Benutzer kann die Daten dieser Tabelle nach Belieben sortieren und bearbeiten. Die Abfragen können so individuell gestaltet werden, dass es mit dem Caching nicht gerade einfach wird. Vor Allem, wenn man die alten Werte mit den neuen vergleichen möchte oder detaillierte Statistiken errechnet werden, benötigt das jede Menge Performance. Eventuell die Daten der Benutzer auf mehrere Datenbanken verteilen? Den Adminaufwand traue ich mir leider noch nicht zu.
Was für einen Server bräuchte ich, damit die Tabelle (siehe unten) auch bei 4,8 Mio. Einträgen pro Jahr(!) noch einigermaßen fix ist? Ich arbeite mich momentan erst in Linux, Server, etc. ein und mir graust es vor einem Cluster.
Mir fällt momentan nur ein, dass man die Aufgaben (DB, Apache, E-Mail, Multimedia, ...) auf verschiedene Server verteilen sollte und die Datenbank an sich optimieren. Wie würdet ihr das Problem lösen/angehen?
Tabellen-Struktur:
- int(10) [AI, PK]
- int(10)
- decimal(5,0)
- tinyint(3)
- tinyint(3)
- int(11)
- varchar(255)
- int(6)
- int(6)
- int(11)
- int(10)
ich habe die Befürchtung, dass mir demnächst meine Datenbank um die Ohren fliegt und möchte deshalb rechtzeitig vorsorgen.
Die meisten Daten sind statisch gecached und belasten die DB kaum. Hauptproblem ist eine einzige Tabelle, die immer voller wird. Der Benutzer kann die Daten dieser Tabelle nach Belieben sortieren und bearbeiten. Die Abfragen können so individuell gestaltet werden, dass es mit dem Caching nicht gerade einfach wird. Vor Allem, wenn man die alten Werte mit den neuen vergleichen möchte oder detaillierte Statistiken errechnet werden, benötigt das jede Menge Performance. Eventuell die Daten der Benutzer auf mehrere Datenbanken verteilen? Den Adminaufwand traue ich mir leider noch nicht zu.
Was für einen Server bräuchte ich, damit die Tabelle (siehe unten) auch bei 4,8 Mio. Einträgen pro Jahr(!) noch einigermaßen fix ist? Ich arbeite mich momentan erst in Linux, Server, etc. ein und mir graust es vor einem Cluster.
Mir fällt momentan nur ein, dass man die Aufgaben (DB, Apache, E-Mail, Multimedia, ...) auf verschiedene Server verteilen sollte und die Datenbank an sich optimieren. Wie würdet ihr das Problem lösen/angehen?
Tabellen-Struktur:
- int(10) [AI, PK]
- int(10)
- decimal(5,0)
- tinyint(3)
- tinyint(3)
- int(11)
- varchar(255)
- int(6)
- int(6)
- int(11)
- int(10)
Kommentar