Übersicht über die Repository-Größe

In diesem Dokument wird erläutert, wie sich die Repository-Größe auf die SQL-Workflow-Entwicklung und die Nutzung von Dataform-Kompilierungsressourcen auswirkt. Außerdem wird erläutert, wie Sie die Nutzung der Kompilierungsressourcen Ihres Repositorys schätzen.

Repository-Größe in Dataform

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

Zusammenarbeit
Wenn mehrere Mitbearbeiter an einem großen Repository arbeiten, kann dies zu einer übermäßigen Anzahl von Pull-Anfragen führen, wodurch sich das Risiko von Zusammenführungskonflikten erhöht.
Lesbarkeit der Codebasis
Eine größere Anzahl von Dateien, aus denen ein SQL-Workflow in einem einzelnen Repository besteht, kann die Navigation im Repository erschweren.
Entwicklungsprozesse
Einige Bereiche eines großen SQL-Workflows in einem einzelnen Repository erfordern möglicherweise benutzerdefinierte Berechtigungen oder Prozesse wie Planung, die sich von den Berechtigungen und Prozessen unterscheiden, die auf den Rest des SQL-Workflows angewendet werden. Große Repositories erschweren es, Entwicklungsprozesse an bestimmte Bereiche des SQL-Workflows anzupassen.
Workflowkompilierung
Dataform erzwingt Nutzungslimits für Kompilierungsressourcen. Eine große Repository-Größe kann zum Überschreiten dieser Limits führen, wodurch die Kompilierung fehlschlägt.
Workflowausführung
Während der Ausführung führt Dataform den gesamten Repository-Code in Ihrem Arbeitsbereich aus und stellt Assets in BigQuery bereit. Je größer das Repository, desto mehr Zeit für die Ausführung durch Dataform.

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

Limits für Repository-Kompilierungsressourcen

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

Ihr Repository kann die Nutzungslimits aus folgenden Gründen überschreiten:

  • Ein Endlosschleifen-Programmfehler im Repository-Code.
  • Ein Speicherleck im Repository-Code.
  • Große Repository-Größe, etwa mehr als 1.000 SQL-Workflow-Knoten.

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

Nutzung Ihres Repositorys durch Kompilierungsressourcen schätzen

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

  • CPU-Zeitnutzung
  • Maximale Gesamtgröße der serialisierten Daten der generierten Grafik mit Aktionen, die in Ihrem Repository definiert sind

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

  • Führen Sie in Ihrem Repository den dataform compile-Befehl der Dataform-Befehlszeile im folgenden Format aus, um die Kompilierung Ihres SQL-Workflows zu bestimmen:
time dataform compile

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

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

Sie können das real-Ergebnis als groben Indikator für die CPU-Zeitnutzung für die Kompilierung Ihres Repositorys betrachten.

Wenn Sie eine ungefähre Schätzung der Gesamtgröße des generierten Diagramms mit Aktionen in Ihrem Repository erhalten möchten, können Sie die Ausgabe des Diagramms in eine JSON-Datei schreiben. Sie können die Größe der unkomprimierten JSON-Datei als groben Indikator für die Gesamtgröße der Grafik ansehen.

  • Führen Sie den folgenden Dataform-Befehl aus, um die Ausgabe der kompilierten Grafik Ihres SQL-Workflows in eine JSON-Datei in Ihrem Repository zu schreiben:
dataform compile --json > graph.json

Nächste Schritte