Frage

Auf unserem DWH-Testserver verwenden wir die Vertica Community Edition.Wir sind mit dem ETL-Prozess und der Abfrageleistung sehr zufrieden.

Wir importieren Daten aus wenigen Quellen (Informix, SQL Server, MySQL, Google Docs) und fassen sie in einem Schema mit Präfix zusammen businessProcessName_stage_

Am Ende des ETL-Prozesses werden viele Tabellen aufgerufen businessProcessName_fact Und businessProcessName_dim_dimName und wenige shared_dim_dimName.

Ist es erforderlich, diese Tabellen in verschiedene Schemata oder möglicherweise in verschiedene Datenbanken zu unterteilen?Die gleiche Frage gilt für Data Marts innerhalb von DWH.

Wir verwenden hauptsächlich das Star-Schema, ein paar Mal das Show-Flake-Schema und es gibt sogar einen Data Mart im Flat-Table-Design.

War es hilfreich?

Lösung

Die meisten Datenbanksysteme verwenden die Datenbankebene als höchste logische Hierarchie.Allerdings erlaubt Vertica nur die gleichzeitige Ausführung einer einzelnen Datenbank.Das bedeutet, dass der logische Entwurf auf Schemaebene erfolgt.Beispielsweise kann ein herkömmliches Datenbanksystem Datenbanken wie z customers Und orders.In Vertica würden diese auf Schemaebene identifiziert.

Die logische Organisation und Namenskonvention variiert zwischen den Organisationen.Wichtig ist, dass es Standard ist und konsequent verwendet wird.Möglicherweise möchten Sie prüfen, was logisch zusammenpasst, und die Tabellen entsprechend gruppieren.Beispielsweise kann jeder Geschäftsprozessname ein eigenes Schema haben (business_process_name.fact_table).Es ist besser, explizit zu sein, anstatt ein einzelnes Schema zu verwenden, selbst wenn Sie nur wenige Tabellen haben.Wenn Sie in Zukunft weitere Tabellen hinzufügen, ist die Verwaltung einfacher.

Ein weiterer Vorteil der Verwendung von Schemata wäre die Verwaltung.Bei der Durchführung von Sicherungen oder Wartungsaufgaben können diese auf Schemaebene durchgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top