Inhalte von Tabellenspeichern manuell verwalten

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite wird beschrieben, wie Sie den Inhalt des Spaltenspeichers der spaltenorientierten Engine verwalten, indem Sie Spalten manuell hinzufügen und entfernen.

Je nach Arbeitslast können Sie dem Spaltenspeicher manuell Spalten hinzufügen oder einige oder alle Spalten einer Tabelle oder einer materialisierten Ansicht daraus entfernen. Bei der Abfrageauswertung werden automatisch die gespeicherten spaltenorientierten Daten verwendet, um Abfragen zu beantworten.

Berücksichtigen Sie bei der Auswahl der Tabellen, materialisierten Ansichten und Spalten, die dem Spaltenspeicher hinzugefügt werden sollen, sowohl die Größe des Spaltenspeichers als auch die Art der Arbeitslast. Gute Kandidaten für die Auswahl sind große Tabellen oder Ansichten, die häufig gescannt werden. Suchen Sie in diesen Tabellen oder Ansichten nach großen, nicht eindeutigen Indexen, die von der OLAP-Arbeitslast verwendet werden. Sie können die Spalten dieser Indexe dem Spaltenspeicher hinzufügen und die Indexe möglicherweise löschen. Dadurch entfällt der Leistungsaufwand, der mit der Wartung auf der primären Instanz verbunden ist.

Verwenden Sie eine der folgenden Methoden, um den Inhalt des Spaltenspeichers der spaltenorientierten Engine zu verwalten:

Unter Welche Daten können dem Spaltenspeicher hinzugefügt werden? finden Sie Informationen zu den Datentypen und Datenquellen, die Sie verwenden können, wenn Sie dem Spaltenspeicher Tabellen, Spalten und materialisierte Ansichten hinzufügen.

Spaltenspeicherinhalte durch Aktualisieren von Datenbank-Flags verwalten

Sie können Spaltenspeicherinhalte manuell verwalten, indem Sie das Datenbankflag google_columnar_engine.relations aktualisieren. Das Flag hat einen einzelnen Wert, der alle Datenquellen Ihres Spaltenspeichers angibt. Während des Neustarts werden die in diesem Flag angegebenen Spalten automatisch in den Spaltenspeicher eingefügt.

Sie können dieses Flag zusammen mit der automatischen Spaltenaufteilung verwenden. Wenn die spaltenorientierte Engine nach dem Auffüllen der Spalten, die Sie über das Flag google_columnar_engine.relations angeben, noch Speicherplatz hat, werden bei der automatischen Spaltenorientierung nach Bedarf weitere Spalten zum Spaltenspeicher hinzugefügt.

Spalten mithilfe von Flags hinzufügen

Wenn Sie dem Spaltenspeicher Spalten hinzufügen möchten, definieren Sie das google_columnar_engine.relations-Flag einer Instanz. Legen Sie den Wert auf eine durch Kommas getrennte Liste von Elementen fest. Jedes Element gibt eine Liste von Spalten an, die aus einer bestimmten Tabelle eingeschlossen werden sollen. Das Format ist:

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)

Ersetzen Sie Folgendes:

  • DATABASE_NAME: Die Datenbank mit den Spalten, die dem Spaltenspeicher hinzugefügt werden sollen.

  • SCHEMA_NAME: Das Schema, das die Tabellen oder materialisierten Ansichten identifiziert, die dem Spaltenspeicher hinzugefügt werden sollen, z. B. public.

  • TABLE_NAME: Die Tabelle oder die materialisierte Ansicht mit den Spalten, die dem Spaltenspeicher hinzugefügt werden sollen.

  • COLUMN_LIST: Eine durch Kommas getrennte Liste der Spalten, die dem Spaltenspeicher hinzugefügt werden sollen.

Wenn Sie alle Spalten einer Tabelle oder materialisierten Ansicht hinzufügen möchten, lassen Sie die Spaltenliste weg:

DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
ALTER SYSTEM SET google_columnar_engine.relations='DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_1,COLUMN_2)';

Spalten mithilfe von Flags löschen

Wenn Sie Spalten aus dem Spaltenspeicher entfernen möchten, legen Sie einen neuen Wert für das Flag google_columnar_engine.relations fest, das unter Spalten mit Flags hinzufügen beschrieben wird. Lassen Sie dabei die Spalten aus, die Sie entfernen möchten.

Wenn Sie alle Spalten aus dem Spaltenspeicher entfernen möchten, deaktivieren Sie das Flag google_columnar_engine.relations für Ihre Instanz.

Weitere Informationen zum Festlegen von Datenbank-Flags für eine Instanz finden Sie unter AlloyDB Omni-Datenbankparameter konfigurieren.

Spaltenspeicherinhalte mit SQL-Funktionen verwalten

Sie können Spaltenspeicherinhalte manuell mit SQL-Funktionen verwalten.

Spalten mit SQL-Funktionen hinzufügen

Führen Sie die SQL-Funktion google_columnar_engine_add aus, um dem Spaltenspeicher Spalten hinzuzufügen.

Mit dieser Methode werden die angegebenen Spalten dem Spaltenspeicher hinzugefügt und nur im verbundenen Knoten verwaltet. Die neuen Spalten bleiben im Speicher nicht über Instanzneustarts hinweg erhalten.

Diese Methode ändert das Datenbank-Flag google_columnar_engine.relations nicht. Bei der automatischen Spaltenaufteilung werden Spalten, die mit dieser SQL-Funktion hinzugefügt wurden, nicht berücksichtigt.

psql-Client

SELECT google_columnar_engine_add(
    relation => 'TABLE_NAME',
    columns => 'COLUMN_LIST'
);
    Ersetzen Sie Folgendes:
  • 'TABLE_NAME': Ein String, der den Namen der Tabelle oder der materialisierten Ansicht enthält. Wenn sich die Tabelle oder Ansicht in einem anderen Schema als public befindet, geben Sie den Namen des Schemas, einen Punkt und den Namen der Tabelle oder Ansicht an, z. B. 'myschema.mytable'.
  • COLUMN_LIST“: Ein String mit einer durch Kommas getrennten, groß-/kleinschreibungsabhängigen Liste der Namen der Spalten, die Sie hinzufügen möchten. Wenn Sie alle Spalten der Tabelle oder der materialisierten Ansicht dem Spaltenspeicher hinzufügen möchten, lassen Sie diesen Parameter weg.

Spalten mit SQL-Funktionen löschen

Führen Sie die SQL-Funktion google_columnar_engine_drop so aus:

psql-Client

SELECT google_columnar_engine_drop(
    relation => 'TABLE_NAME',
    columns => 'COLUMN_LIST'
);
Ersetzen Sie Folgendes:
  • 'TABLE_NAME': Ein String, der den Namen der Tabelle oder der materialisierten Ansicht enthält. Wenn sich die Tabelle oder Ansicht in einem anderen Schema als public befindet, geben Sie den Namen des Schemas, einen Punkt und den Namen der Tabelle oder Ansicht an, z. B. 'myschema.mytable'.
  • COLUMN_LIST“: Ein String mit einer durch Kommas getrennten, groß-/kleinschreibungsabhängigen Liste der Namen der Spalten, die Sie hinzufügen möchten. Wenn Sie alle Spalten der Tabelle oder der materialisierten Ansicht dem Spaltenspeicher hinzufügen möchten, lassen Sie diesen Parameter weg.

Mit der Funktion google_columnar_engine_drop können Sie Spalten entfernen, die durch Bearbeiten des Datenbankflags google_columnar_engine.relations hinzugefügt wurden. Wenn Sie dies tun, werden diese Spalten jedoch beim Neustart der Instanz wieder dem spaltenorientierten Speicher hinzugefügt.