2016-06-05 12 views
0

in diesem Blog https://blogs.aws.amazon.com/bigdata/post/Tx2ANLN1PGELDJU/Best-Practices-for-Micro-Batch-Loading-on-Amazon-RedshiftWas ist ein optimaler Lastpfad für Redshift?

Ich verstehe nicht, was der wichtigste Punkt des Stroms Ansatz Last ist. Woher kommt das Sparen? Ich verstehe das Deaktivieren von "Analysieren", "Sortieren", "Vakuumieren", "Festkomprimierung" und all das. Aber warum die separaten Spuren oder leere temporäre Tabellen? Sie können all dies ohne die mehreren Spuren tun. Gibt es eine Bedeutung in der Phrase "eine optimale Last Pfad für COPY zu folgen" Was genau ist optimal? das S3-Präfix oder etwas anderes? Was auch immer ist optimal, Warum wäre es nicht optimal, wenn Sie das Verzeichnis in das endgültige Schema laden? Nehmen wir an, dass das Lesen von s3-Dateien der Flaschenhals ist?

Könnte jemand Einblick geben?

Antwort

1

Wenn Sie einfach nur direkt an Final-Tabellen anhängen, sind sie möglicherweise nicht erforderlich. Die Spuren werden verwendet, um Sperrkonflikte für Ladearbeiten (Einfügen/Aktualisieren/Löschen) bei Tabellen zu vermeiden, die aktiv nach unten abgefragt werden.

Zum Beispiel kann eine Transaktion nicht abgeschlossen werden, während ein anderer Prozess die Tabelle verwendet, z. Eine lange laufende Data Warehouse-Umwandlung wird ausgeführt, während die Tabelle geladen wird. Wenn mehrere Spuren verwendet werden, können weitere Lasten parallel bereitgestellt und verarbeitet werden.

Sie können auch temporäre Tabellen verwenden, um die kürzlich hinzugefügte Funktion ALTER APPEND zu nutzen. Dies ermöglicht es Ihnen, eine sortierte Ladung in eine separate Tabelle und sofort anfügen diese Zeilen an die endgültige Tabelle in einem vollständig sortierten Zustand. Wenn Sie direkt zum letzten laden, werden die Zeilen als unsortiert markiert, bis die Tabelle VACUUM ed ist.

+1

Große Antworten. Diese Punkte wurden im referenzierten Blog verloren. – bhomass