Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie entwerfe ich eine Tabelle, in der sehr große Daten gespeichert werden?

Diese Größe versetzt Sie in das VLDB-Territorium (sehr große Datenbanken). Auf dieser Höhe sind die Dinge grundlegend anders.

Ihre Frage kann ohne die vollständigen Anforderungen der Verantwortlichkeiten Ihrer Bewerbung nicht beantwortet werden. Sie müssen hinsichtlich dessen, was Ihre Anwendung TUN soll, auf Leistung ausgelegt sein mit den Daten.

Mein Rat ist, jemanden an Bord zu holen, der bereits Erfahrung hat, oder Sie werden mit fast 100%iger Garantie scheitern.

Wenn Sie sich für Oracle entscheiden, bietet es mehrere Arten der Partitionierung, die Sie sehr sorgfältig verwenden sollten. Sie benötigen Partitionen für Verwaltungszwecke (Verschieben von Daten, Erstellen von Indizes, Wiederherstellen von Daten) sowie für die Abfrageleistung:

  • Bereichsaufteilung, zum Beispiel nach einem Datumsbereich
  • Listenpartitionierung, zum Speichern von Datensegmenten, sagen wir länderweise ('SE', 'US', 'GB')
  • Hash-Partitionierung. Speichert Ihre Daten basierend auf einer Hash-Funktion in einer der Partitionen
  • Oder eine beliebige Kombination der oben genannten

Außerdem brauchen Sie jemanden, der weiß, wie man eine Monstermaschine mit wirklich beeindruckendem E/A-Durchsatz baut und konfiguriert. Sie benötigen mehr als 1 GB/s, was nicht sehr billig ist, wenn Sie auch 200 TB speichern müssen. Wenn diese 200 TB nur Tabellendaten sind, müssen Sie diese verdoppeln oder verdreifachen, um Indizes, aggregierte Tabellen, Sicherungen usw. erstellen zu können.

Tut mir leid, dass ich Ihnen keine gebrauchsfertige Lösung geben konnte, aber ich wollte sicherstellen, dass Sie verstehen, dass Sie nicht nur eine überdurchschnittlich große Datenbank aufbauen. Es ist riesig!