Wir erstellen eine Datenbank in MSSQL 2008 R2 Standard, in der wir eine große Anzahl von Datensätzen speichern werden. Wir schätzen jährlich mehr als 200 Millionen Datensätze in einer Tabelle und fügen hauptsächlich sehr wenige UPDATEs oder DELETEs in die Daten ein. Es ist ein Datenarchivierungssystem, in das wir täglich historische Aufzeichnungen einfügen. Wir werden auf Benutzeranfrage verschiedene Arten von Berichten zu diesem historischen Datensatz erstellen, sodass wir einige Bedenken haben und technische Eingaben und Ratschläge benötigen.
- Was ist der beste Weg, um diese Art von Archivtabellen und Datenbanken zu verwalten?
Antworten:
Hier ist meine Meinung:
quelle
200 Millionen Zeilen pro Jahr sind nicht besonders groß (es sei denn, die Zeilen sind ungewöhnlich groß). Sie müssen auf solide Prinzipien für das Datenbankdesign (Normalisierung) achten und Standardfunktionen wie Indizierung und Partitionierung verwenden. Natürlich ist auch die richtige Hardware wichtig.
Hier gibt es nicht genügend Informationen, um konkrete Ratschläge zu geben. Stellen Sie jemanden ein, wenn Sie der Meinung sind, dass Sie Hilfe bei der detaillierten Planung und Implementierung benötigen.
quelle
Stellen Sie sicher, dass Ihr Design es Ihren Einsätzen ermöglicht, immer am Ende der Tabelle zu stehen. Hinweis Clustered Index.
Es gibt nur sehr wenige nicht gruppierte Indizes, die die Berichte unterstützen, die Sie ausführen müssen, um sie auf ein Minimum zu beschränken. Sind diese Berichte vorgeneriert? Wenn ja, dann überlegen Sie sich folgende Frage: Ist es in Ordnung, wenn die Erstellung des Berichts 2 Stunden dauert (ohne Index) oder 1 Minute (mit Index)? Vielleicht ist es in Ordnung, den Bericht 2 Stunden dauern zu lassen, um einen Index weniger zu haben? oder vielleicht nicht? Wenn der Bericht nicht gut vorgeneriert ist, ist dies eine andere Frage, da Benutzer nicht gerne warten und Sie möglicherweise mehr Indizes implementieren müssen, um Ihre Berichte zu unterstützen.
Wie Sie diese Datenbank beschreiben, scheint es, als würden Sie viele Zeilen erwarten und die Daten werden viel hinzufügen und wachsen. Haben Sie darüber nachgedacht, wie Sie dieses System sichern können? Ich denke, die meisten Daten werden gleich sein und nur neue hinzufügen? Ich kenne die geschäftlichen Anforderungen dieses Systems nicht, aber mir scheint, dass dies in ein oder zwei Jahren eine Datenbank von beträchtlicher Größe sein könnte und Sie möglicherweise Probleme haben, viele vollständige Backups zu erstellen. Erwägen Sie eine vollständige Sicherung mit regelmäßigen (wöchentlichen?) Und differenziellen (täglichen?) Und Transaktionsprotokollen (stündlich?). Natürlich, wie gesagt, ich kenne die Geschäftsanforderungen nicht. Vielleicht benötigen Sie nicht immer alle Sicherungen? Größe kann in Archivsystemen ein Problem sein.
quelle