2 Stimmen

So richten Sie SQL Server Enterprise für die Partitionierung ein

Wir haben eine Datenbank, die derzeit 1,5 TB groß ist und jeden Tag um ein Gigabyte an Daten (eine Textdatei) mit 5 Millionen Datensätzen wächst - und sie wächst täglich

Sie hat viele Spalten, aber eine bemerkenswerte ist START_TIME, die das Datum und die Uhrzeit enthält.

Wir führen viele Abfragen über einen Datumsbereich durch -

Wir bewahren in unserer Datenbank Datensätze aus 90 Tagen auf, und wir haben eine größere Tabelle, die ALLE Datensätze enthält.

Abfragen, die auf die Datensätze der letzten 90 Tage bezogen sind, sind ziemlich schnell, aber Abfragen, die auf ALLE Daten bezogen sind, sind langsam.

Ich bin auf der Suche nach Antworten auf sehr hohem Niveau, besten Praktiken

Wir denken darüber nach, auf SQL Server Enterprise zu aktualisieren und die Tabellenpartitionierung zu verwenden und die Partition auf der Grundlage von Monaten (12) oder Tagen (31) aufzuteilen.

Wie lässt sich das am besten bewerkstelligen?

Virtual Physical, ein SAN, wie viele Festplatten, wie viele Partitionen usw. -

Sas

2voto

usr Punkte 164863

Sie wollen nicht nach Tagen aufteilen, weil Sie jeden Monat alle Fächer berühren werden. Die Partitionierung ermöglicht Ihnen pas um bestimmte Daten zu berühren.

Warum wollen Sie partitionieren? Können Sie den Grund klar formulieren? Wenn nicht (wovon ich ausgehe), sollten Sie es nicht tun. Die Partitionierung verbessert die Leistung nicht per se. In einigen Szenarien verbessert sie die Leistung, in anderen nimmt sie sie ab.

Sie müssen verstehen, was Sie gewinnen und was Sie verlieren. Hier ist, was Sie gewinnen :

  • Schnelles Löschen von ganzen Partitionen
  • Schreibgeschützte Partitionen können nach einem anderen Backup-Zeitplan laufen

Hier ist, was Sie lose :

  • Produktivität
  • Standardausgabe
  • Geringere Leistung bei nicht ausgerichteten Abfragen (im Allgemeinen)

Hier ist, was gleich bleibt dieselbe :

  • Leistung für partitionierte Abfragen und Indizes

Wenn Sie eine Partitionierung vornehmen wollen, werden Sie wahrscheinlich nach Datum oder Monat vorgehen wollen, aber auf kontinuierliche Weise. Machen Sie also Ihren Schlüssel nicht zu Monat(Datum). Machen Sie ihn (Jahr(Datum) + '-' + Monat(Datum)). Fassen Sie alte Partitionen nie wieder an.

Wenn Ihre alten Partitionen wirklich schreibgeschützt sind, legen Sie jede von ihnen in eine schreibgeschützte Dateigruppe und schließen Sie sie von der Sicherung aus. Dadurch erhalten Sie wirklich schnell Backup und kleinere Backups.

Da Sie nur 90 Tage Daten aufbewahren, möchten Sie wahrscheinlich eine Partition pro Tag haben. Jeden Tag um Mitternacht löschen Sie die letzte Partition und ändern die Partitionsfunktion, um Platz für einen neuen Tag zu schaffen.

Es gibt hier nicht genügend Informationen, um etwas über die Hardware zu sagen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X