Anwendungsfälle in Unternehmen für DCM Projects¶
Unter diesem Thema wird beschrieben, wie Sie DCM Projects in Unternehmensumgebungen verwenden, z. B. beim Verwalten mehrerer Projekte, bei der Arbeit mit mehreren Umgebungen und bei der Zusammenarbeit an Projekten.
Einsatzszenarios für mehrere DCM-Projekte¶
Bei der Entscheidung, ob und wie ein DCM project in mehrere Projekte geteilt werden soll, sollten Sie die Eigentümerschaft und die Vorlagen berücksichtigen.
Eigentümerschaft¶
Jedes Projekt hat eine Eigentümerrolle, die alle definierten Objekte bereitstellen kann. Zuweisungen ermöglichen eine detaillierte Zugriffsverwaltung für einzelne Objekte innerhalb des Projekts. Wenn jedoch verschiedene Gruppen von Benutzenden für die Bereitstellung von Änderungen an einem Projekt zuständig sind, ist es im Allgemeinen sinnvoll, ein DCM project entsprechend zu teilen.
Nachfolgend ein Beispielszenario:
Der Plattformadministrator stellt eine Datenbank und ein Warehouse bereit, erstellt die Rolle des Teamadministrators und weist CREATE-Berechtigungen an den Teamadministrator für einen definierten Satz von Objekttypen innerhalb dieser Datenbank sowie Zugriff auf einen definierten Satz von Integrationen auf Kontoebene zu.
Der Teamadministrator kann nun entscheiden, wie Schemas und dynamische Tabellen in dieser Datenbank organisiert werden sollen, wie die Aktualisierungsfrequenzen angepasst werden und wie einzelnen Teammitgliedern ein detaillierterer Lesezugriff gewährt werden soll.
Im Folgenden finden Sie eine Lösung:
Der Plattformadministrator stellt die allgemeine Infrastruktur für das Team bereit und erteilt dem Teamadministrator die Berechtigung, DCM project-Projekte in der dazugehörigen Datenbank zu erstellen.
Der Teamadministrator kann jetzt auch von DCM Projects profitieren, indem ein oder mehrere Projekte innerhalb der Teamdatenbank erstellt werden, um Tabellen und Berechtigungen für Teammitglieder zu verwalten.
Vorlagenvariablen¶
Wenn ein DCM project einen Bereich von Objekten definiert, die ähnlich sind und größtenteils auch ähnlich bleiben sollten, ist es im Allgemeinen bequemer, sie einmal als parametrisierte Vorlage zu definieren.
Nachfolgend ein Beispielszenario:
Das Plattformteam stellt für jedes regionale Team in der Organisation eine Datenbank bereit.
Es wird erwartet, dass im Laufe der Zeit neue Regionen hinzugefügt werden.
Alle Regionen erfordern meist die gleiche Einrichtung von Schema, Zieltabellen, Rollen und Warehouse.
Änderungen an dieser Datenbankvorlage sollten auf alle Teams angewendet werden, z. B. das Hinzufügen einer Nur-Lese-Rolle.
Im Folgenden finden Sie eine Lösung:
Sie können für jedes im Manifest-Profil aufgeführte regionale Team einen einzigen Satz von Definitionen in einer Schleife ausführen.
Wenn mehr Elemente dieser Vorlage abweichen und sich die Anzahl der Vorlagenbedingungen erhöht, kann es einfacher sein, separate DCM-Projekte mit ihren individuellen Objektdefinitionen zu lesen und zu verwalten.
DCM Projects mit mehreren Umgebungen verwenden¶
Die folgende Abbildung zeigt einen typischen Workflow für das Bereitstellen eines DCM project für mehrere Umgebungen.
Separate Konten vs. separate Datenbanken¶
Snowflake empfiehlt im Allgemeinen, jede Umgebung als separates Snowflake-Konto einzurichten. Dies stellt eine vollständige Trennung der Produktionsinfrastruktur von der experimentellen Entwicklung dar und garantiert einen eingeschränkten Zugriff von Entwickelnden auf die Produktionsdaten.
Mit einer sorgfältigen Zugriffsverwaltung können Sie jedoch erfolgreich mehrere Umgebungen in einem Snowflake-Konto verwalten. Dies ist einfacher, wenn die Datenbanken deutlich getrennt sind, und kann schwieriger werden, wenn Objekte und Integrationen auf Kontoebene beteiligt sind.
Der Vorteil einer Einzelkonto-Einrichtung ist die Möglichkeit, auf einfache Weise die Infrastruktur und die Daten der Produktion zu klonen, um Änderungen zu testen, bevor diese Änderungen in der Produktion bereitgestellt werden. Das Kopieren von Teilen der Produktionsdaten und der Infrastruktur auf ein anderes Konto, z. B. über organisationsinterne Datenfreigaben, kann jedoch teurer sein.
Auswirkungen auf DCM project-Vorlagen¶
Eigene Objektnamen für jede Umgebung sind eine Anforderung für Einzelkonto-Einrichtungen, um z. B. EMEA_DB und EMEA_ADMIN getrennt von EMEA_DB_DEV und``EMEA_ADMIN_DEV`` beizubehalten. Snowflake empfiehlt dieses Verfahren auch bei Konfigurationen mit mehreren Konten. Namensvorlagen ermöglichen mehrere Instanzen von Entitäten, wie z. B. EMEA_DB_DEV_JOHN und EMEA_DB_DEV_MARY, für eine unabhängige Entwicklung und um schnell Sandbox-Umgebungen zu erstellen und zu beseitigen, um verschiedene Lösungen zu testen.
Dies gilt für alle Objekte auf Kontoebene, wie Datenbanken, Rollen und Warehouses. Sie müssen diese Namensvorlagen dann auf alle vollqualifizierten Namen verschachtelter Objekte anwenden.