Repository-Größe – Übersicht

In diesem Dokument erfahren Sie, wie sich die Größe des Repositories auf die Entwicklung von SQL-Workflows und die Nutzung von Dataform-Kompilierungsressourcen auswirkt und wie Sie die Nutzung von Kompilierungsressourcen Ihres Repositories schätzen können.

Repository-Größe in Dataform

Die Größe eines Repositories wirkt sich auf die folgenden Aspekte der Entwicklung in Dataform aus:

Zusammenarbeit
Wenn mehrere Mitbearbeiter an einem großen Repository arbeiten, kann das zu einer übermäßigen Anzahl von Pull-Requests führen, was das Risiko von Zusammenführungskonflikten erhöht.
Lesbarkeit der Codebasis
Eine größere Anzahl von Dateien, die einen SQL-Workflow in einem einzelnen Repository bilden, kann die Navigation im Repository erschweren.
Entwicklungsabläufe
Für einige Bereiche eines großen SQL-Workflows in einem einzelnen Repository sind möglicherweise benutzerdefinierte Berechtigungen oder Prozesse erforderlich, z. B. für die Planung, die sich von den Berechtigungen und Prozessen unterscheiden, die auf den Rest des SQL-Workflows angewendet werden. Aufgrund der großen Größe des Repositories ist es schwierig, Entwicklungsabläufe auf bestimmte Bereiche des SQL-Workflows anzupassen.
Workflow-Kompilierung
Dataform erzwingt Nutzungslimits für Kompilierungsressourcen. Eine große Repository-Größe kann dazu führen, dass diese Limits überschritten werden und die Kompilierung fehlschlägt.
Workflowausführung
Bei der Ausführung führt Dataform Repository-Code in Ihrem Arbeitsbereich aus und stellt Assets in BigQuery bereit. Je größer das Repository, desto länger dauert es, bis Dataform es ausgeführt hat.

Wenn sich die große Größe Ihres Repositories negativ auf Ihre Entwicklung in Dataform auswirkt, können Sie das Repository in mehrere kleinere Repositories aufteilen.

Einschränkungen bei Ressourcen für die Repository-Kompilierung

Während der Entwicklung kompiliert Dataform den gesamten Repository-Code in Ihrem Arbeitsbereich, um eine Darstellung des SQL-Workflows in Ihrem Repository zu generieren, das als Kompilierungsergebnis bezeichnet wird. In Dataform gelten Nutzungslimits für Kompilierungsressourcen.

Die Nutzungslimits Ihres Repositories werden möglicherweise aus den folgenden Gründen überschritten:

  • Ein Fehler mit einer endlosen Schleife im Repository-Code.
  • Ein Speicherleck im Repository-Code.
  • Große Repository-Größe, etwa mehr als 1.000 SQL-Workflow-Aktionen.

Weitere Informationen zu Nutzungslimits für Kompilierungsressourcen finden Sie unter Limits für Dataform-Kompilierungsressourcen.

Ressourcennutzung für die Kompilierung Ihres Repositories schätzen

Sie können die Nutzung der folgenden Kompilierungsressourcen für Ihr Repository schätzen:

  • CPU-Nutzungszeit
  • Maximale Gesamtgröße der serialisierten Daten des generierten Graphen der Aktionen, die in Ihrem Repository definiert sind

Um eine grobe Schätzung der aktuellen CPU-Zeitnutzung für die Kompilierung Ihres Repositorys zu erhalten, können Sie die Kompilierung Ihres Dataform SQL-Workflows auf einem lokalen Linux- oder macOS-Computer messen.

  • Wenn Sie die Kompilierung Ihres SQL-Workflows messen möchten, führen Sie in Ihrem Repository den Dataform-Befehl dataform compile im folgenden Format aus:
time dataform compile

Das folgende Codebeispiel zeigt das Ergebnis der Ausführung des Befehls time dataform compile:

real    0m3.480s
user    0m1.828s
sys     0m0.260s

Das Ergebnis von real ist ein grober Indikator für die CPU-Zeitnutzung bei der Kompilierung Ihres Repositorys.

Wenn Sie eine grobe Schätzung der Gesamtgröße des generierten Graphen der Aktionen in Ihrem Repository erhalten möchten, können Sie die Ausgabe des Graphen in eine JSON-Datei schreiben. Die Größe der unkomprimierten JSON-Datei ist ein grober Indikator für die Gesamtgröße des Diagramms.

  • Wenn Sie die Ausgabe des kompilierten Graphen Ihres SQL-Workflows in eine JSON-Datei in Ihrem Repository schreiben möchten, führen Sie den folgenden Dataform-Befehl in der Befehlszeile aus:
dataform compile --json > graph.json

Nächste Schritte