Best Practices für die Größe des Repositories
Die Größe des Repositories wirkt sich auf mehrere Aspekte der Entwicklung in Dataform aus, z. B.:
- Zusammenarbeit
- Lesbarkeit der Codebasis
- Entwicklungsabläufe
- Workflow-Kompilierung
- Workflowausführung
In Dataform gelten API-Kontingente und Limits für die Kompilierungsressourcen. Bei einer großen Repository-Größe kann es passieren, dass Ihr Repository diese Kontingente und Limits überschreitet. Dies kann zu einer fehlgeschlagenen Kompilierung und Ausführung Ihres SQL-Workflows führen.
Um dieses Risiko zu minimieren, empfehlen wir, große Repositories aufzuteilen. Wenn Sie ein großes Repository aufteilen, teilen Sie einen großen SQL-Workflow in eine Reihe kleinerer SQL-Workflows auf, die sich in verschiedenen Repositories befinden und durch repositoryübergreifende Abhängigkeiten verbunden sind.
Mit diesem Ansatz können Sie die Kontingente und Limits von Dataform einhalten, Prozesse und Berechtigungen fein abstimmen und die Lesbarkeit der Codebasis und die Zusammenarbeit verbessern. Das Verwalten von geteilten Repositories kann jedoch schwieriger sein als das Verwalten eines einzelnen Repositories.
Weitere Informationen zur Auswirkung der Repository-Größe in Dataform und zu Best Practices für das Aufteilen von Repositories finden Sie unter Repositories aufteilen.
Best Practices für die Repository-Struktur
Wir empfehlen, die Dateien im Verzeichnis definitions
so zu strukturieren, dass sie die Phasen Ihres Workflows widerspiegeln. Sie können auch eine benutzerdefinierte Struktur verwenden, die Ihren Anforderungen am besten entspricht.
Die folgende empfohlene Struktur von definitions
-Unterverzeichnissen spiegelt die wichtigsten Phasen der meisten SQL-Workflows wider:
sources
, Datenquellendeklarationen speichernintermediate
, die Datentransformationslogik speichernoutput
, zum Speichern von Definitionen von Ausgabetabellen- Optional:
extras
, zum Speichern zusätzlicher Dateien
Die Namen aller Dateien in Dataform müssen den Benennungsrichtlinien für BigQuery-Tabellen entsprechen. Wir empfehlen, dass die Namen der Dateien im Verzeichnis definitions
in einem Dataform-Repository der Struktur der Unterverzeichnisse entsprechen.
Weitere Informationen zu Best Practices für die Strukturierung und Benennung von Dateien in einem Repository finden Sie unter Code in einem Repository strukturieren.
Best Practices für den Codelebenszyklus
Der Standard-Codelebenszyklus in Dataform besteht aus den folgenden Phasen:
Entwicklung von SQL-Workflow-Code in Dataform-Arbeitsbereichen
Sie können mit Dataform Core oder ausschließlich mit JavaScript entwickeln.
Kompilierung Ihres Codes in ein Kompilierungsergebnis mithilfe der Einstellungen aus der Workflow-Konfigurationsdatei.
Sie können benutzerdefinierte Kompilierungsergebnisse mit Releasekonfigurationen und Überschreibungen von Arbeitsbereichskompilierungen konfigurieren.
Mit Releasekonfigurationen können Sie benutzerdefinierte Kompilierungsergebnisse für Ihr gesamtes Repository konfigurieren. Die Ausführung können Sie später in Workflowkonfigurationen planen.
Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie Kompilierungsüberschreibungen für alle Arbeitsbereiche in Ihrem Repository konfigurieren und benutzerdefinierte Kompilierungsergebnisse für jeden Arbeitsbereich erstellen.
Ausführung des Kompilierungsergebnisses in BigQuery
Mit Workflowkonfigurationen können Sie Ausführungen oder Repository-Kompilierungsergebnisse planen.
Um den Codelebenszyklus in Dataform zu verwalten, können Sie Ausführungsumgebungen erstellen, z. B. für Entwicklung, Staging und Produktion.
Weitere Informationen zum Codelebenszyklus in Dataform finden Sie unter Einführung in den Codelebenszyklus in Dataform.
Sie können Ihre Ausführungsumgebungen in einem einzelnen Repository oder in mehreren Repositories speichern.
Ausführungsumgebungen in einem einzigen Repository
Mit Überschreibungen der Arbeitsbereichskompilierung und Releasekonfigurationen können Sie isolierte Ausführungsumgebungen wie Entwicklungs-, Staging- und Produktionsumgebungen in einem einzigen Dataform-Repository erstellen.
Sie haben folgende Möglichkeiten, isolierte Ausführungsumgebungen zu erstellen:
- Entwicklungs- und Produktionstabellen nach Schema aufteilen
- Entwicklungs- und Produktionstabellen nach Schema und Google Cloud-Projekt aufteilen
- Entwicklungs-, Staging- und Produktionstabellen nach Google Cloud-Projekt aufteilen
Anschließend können Sie mit Workflowkonfigurationen Ausführungen in Staging- und Produktionsumgebungen planen. Wir empfehlen, Ausführungen manuell in der Entwicklungsumgebung auszulösen.
Weitere Informationen zu Best Practices für die Verwaltung des Codelebenszyklus in Dataform finden Sie unter Codelebenszyklus verwalten.
Codelebenszyklus in mehreren Repositories
Wenn Sie die Berechtigungen der Identitäts- und Zugriffsverwaltung an jede Phase des Codelebenszyklus anpassen möchten, können Sie mehrere Kopien eines Repositories erstellen und in verschiedenenGoogle Cloud -Projekten speichern.
Jedes Google Cloud-Projekt dient als Ausführungsumgebung, die einer Phase des Codelebenszyklus entspricht, z. B. Entwicklung und Produktion.
Bei diesem Ansatz empfehlen wir, die Codebasis des Repositorys in allen Google Cloud-Projekten gleich zu halten. Verwenden Sie Überschreibungen von Arbeitsbereichskompilierungen, Releasekonfigurationen und Workflowkonfigurationen, um die Kompilierung und Ausführung in jeder Kopie des Repositorys anzupassen.
Nächste Schritte
- Weitere Informationen zur Repository-Größe in Dataform finden Sie unter Repository-Größe.
- Weitere Informationen zu Best Practices für das Aufteilen von Repositories finden Sie unter Repositories aufteilen.
- Weitere Informationen zu Best Practices für die Repositorystruktur finden Sie unter Code in einem Repository strukturieren.
- Weitere Informationen zum Codelebenszyklus in Dataform und zu den verschiedenen Konfigurationsoptionen finden Sie unter Einführung in den Codelebenszyklus in Dataform.
- Weitere Informationen zu Best Practices für den Codelebenszyklus finden Sie unter Codelebenszyklus verwalten.