Beschränkungen und nicht unterstützte Features für Hybridtabellen

Die folgenden Hinweise zu Beschränkungen und nicht unterstützten Features gelten für Hybridtabellen und können sich ändern.

Lesen Sie unbedingt beide Abschnitte.

Bemerkung

Wenden Sie sich an Ihr Konto-Team, wenn Sie Fragen haben.

Einschränkungen

Clouds und Regionen

Hybride Tabellen sind in allen kommerziellen Amazon Web Services (AWS) -Regionen verfügbar.

Beachten Sie die folgenden Einschränkungen:

  • Hybridtabellen sind auf Azure oder Google Cloud Platform (GCP) nicht verfügbar.

  • Hybride Tabellen sind in US- SnowGov-Regionen nicht verfügbar.

  • Hybride Tabellen werden in Testkonten nicht unterstützt.

  • Wenn Sie Kunde von Virtual Private Snowflake (VPS) sind, wenden Sie sich an den Snowflake-Support, um sich über die Aktivierung von Hybridtabellen für Ihr Konto zu erkundigen.

Konsistenz

Standardmäßig verwenden Hybridtabellen ein sitzungsbasiertes Konsistenzmodell, bei dem Leseoperationen in der Sitzung die neuesten Daten von Schreiboperationen in derselben Sitzung zurückgeben. Bei Änderungen, die außerhalb der Sitzung vorgenommen werden, kann es zu einem gewissen Veralten (weniger als 100 ms) kommen. Um ein Veralten zu vermeiden, legen Sie READ_LATEST_WRITES = true auf Anweisungs- oder Sitzungsebene fest. Beachten Sie, dass dies zu einem gewissen Latenz-Overhead von einigen Millisekunden führen kann.

Einschränkungen

PRIMARY KEY, UNIQUE und FOREIGN KEY-Beschränkungen werden für Hybridtabellen erzwungen, aber es gelten einige Einschränkungen. Weitere Informationen dazu finden Sie unter Einschränkungen für Hybridtabellen.

COPY

Wenn Sie eine Hybridtabelle mit dem Befehl COPY INTO laden, ist ABORT_STATEMENT die einzige Option, die für ON_ERROR unterstützt wird. Bei Einstellung von ON_ERROR=SKIP_FILE wird ein Fehler zurückgegeben. Weitere Informationen dazu finden Sie unter Laden von Daten.

Datenumfang

Sie können pro Snowflake-Datenbank nur 2 TB an Daten in Hybridtabellen speichern. Weitere Informationen dazu finden Sie unter Kontingente und Drosselung.

Datentypen, die in Indizes nicht unterstützt werden

Spalten mit Datentypen für Geodaten (GEOGRAPHY und GEOMETRY), semistrukturierten Daten (ARRAY, OBJECT, VARIANT) und Vektordatentypen (VECTOR) werden weder als PRIMARY KEY-Spalten (die automatisch indiziert werden) noch als explizit indizierte Spalten unterstützt. (Spalten von Hybridtabellen unterstützen diese Datentypen, solange die Spalten nicht indiziert sind)

Der Datentyp TIMESTAMP_TZ (oder ein TIMESTAMP Datentyp, der in TIMESTAMP_TZ aufgelöst wird) wird für Spalten, die mit UNIQUE-, PRIMARY KEY- und FOREIGN KEY-Einschränkungen indiziert sind, nicht unterstützt. TIMESTAMP_TZ wird jedoch für sekundäre Indizes unterstützt.

Siehe auch Sekundäre Indizes.

DML-Befehle

Wenn Sie DML-Befehle verwenden, um eine kleine Anzahl von Zeilen zu ändern, können Sie die Leistung optimieren, indem Sie anstelle von MERGE-Anweisungen INSERT-, UPDATE- oder DELETE-Anweisungen verwenden.

Funktionen höherer Ordnung

Die Funktionen höherer Ordnung FILTER, REDUCE und TRANSFORM werden in Abfragen gegen Hybridtabellen nicht unterstützt.

Native Anwendungen

Sie können Hybridtabellen in eine Snowflake Native App einbinden. Hybridtabellen können jedoch nicht von einem Anbieter für Verbraucher freigegeben werden. Native Apps können Hybridtabellen im Verbraucherkonto erstellen, und sie können Lese-/Schreiboperationen auf diesen Hybridtabellen ausführen. Sie können Hybridtabellen auch für Anwendungsrollen zur Verfügung stellen, sodass sie von Verbraucherbenutzern direkt abgefragt werden können.

Sie können eine Hybridtabelle nicht in einem Anbieterkonto erstellen, und Sie können diese Hybridtabelle nicht in eine Ansicht aufnehmen, die über die native App freigegeben wurde.

Optimierte Massenladen

Wenn eine Hybridtabelle leer ist, verwenden CTAS, COPY und INSERT INTO. … SELECT alle optimiertes Massenladen. Wenn die Hybridtabellen nicht leer sind, wird das optimierte Massenladen nicht verwendet. Weitere Informationen dazu finden Sie unter Laden von Daten.

Persistente Abfrageergebnisse

Abfragen auf Hybridtabellen verwenden nicht den Ergebnis-Cache, wie mit dem Parameter USE_CACHED_RESULT definiert. Siehe Verwenden von persistent gespeicherten Abfrageergebnissen.

Kontingente und Drosselung

Ihre Nutzung von Hybridtabellen wird durch Kontingente eingeschränkt, um eine gleichmäßige Verfügbarkeit der gemeinsam genutzten Ressourcen sicherzustellen, eine gleichbleibende Servicequalität zu bieten und Nutzungsspitzen zu reduzieren.

Kontingent

Standard

Anmerkungen

Hybridspeicher

2 TB pro Snowflake-Datenbank

Das Hybridspeicher-Kontingent steuert, wie viele Daten Sie in Hybridtabellen speichern können. Diese Beschränkung gilt nur für aktive Hybridtabellendaten im Zeilenspeicher. Sie gilt nicht für den Objektspeicher. Wenn Sie das Speicherkontingent überschreiten, werden Schreibvorgänge, die Daten zu Hybridtabellen hinzufügen, vorübergehend blockiert, bis Sie Ihren hybriden Speicherverbrauch wieder unter das Kontingent bringen, indem Sie Tabellen oder Daten entfernen.

Sie können in Sekundenschnelle Speicherplatz zurückgewinnen, indem Sie nicht benötigte Hybridtabellen löschen oder abschneiden. Wenn Sie jedoch Daten aus den Tabellen löschen, dauert es einige Stunden, bis der Speicherplatz wiederhergestellt ist (weil eine Verdichtung im Hintergrund erforderlich ist).

Hybridtabellenanforderungen

Ungefähr 8.000 Operationen pro Sekunde, pro Snowflake-Datenbank

Dieses Kontingent steuert die Rate, mit der Sie Lese-/Schreiboperationen auf Hybridtabellen ausführen können. Sie sollten in der Lage sein, bis zu 8.000 Operationen pro Sekunde auf Hybridtabellen für einen ausgeglichenen Workload bestehend aus 80 % Punkt-Leseoperationen und 20 % Punkt-Schreiboperationen zu erreichen. Um die Drosselung zu überwachen, sehen Sie sich das Beispiel unter Ansicht AGGREGATE_QUERY_HISTORY an.

Datenbanken, die Hybridtabellen enthalten

100 insgesamt pro Snowflake-Konto und nicht mehr als 10 Datenbanken, die innerhalb eines Zeitfensters von einer Stunde hinzugefügt werden

Diese Quote steuert, wie viele Datenbanken innerhalb Ihres Snowflake-Kontos Hybridtabellen enthalten dürfen. Wenn Sie diese Quote überschreiten, können Sie keine hybride Tabelle in einer neuen Datenbank erstellen, ohne alle hybriden Tabellen aus einer bestehenden Datenbank zu löschen. Falls erforderlich, können Sie den Snowflake Support um Hilfe bitten, um die Quote zu erhöhen.

Die Drosselung kann durch eine Kombination von Faktoren verursacht werden, die dazu führen, dass zu viele Lese- und Schreibanfragen an den Anbieter des hybriden Tabellenspeichers gesendet werden:

  • Zu viele Leseanfragen können durch schlecht optimierte Abfragen oder durch einen großen, aggressiven Workload mit sehr hoher Parallelität der Abfragen entstehen.

  • Zu viele Schreibanfragen können auftreten, weil beim Laden einer Tabelle nicht der Pfad für die Massenübertragung gewählt wurde oder weil der Workload aus zu vielen gleichzeitigen Schreiboperationen besteht.

Wenn Sie eine Fehlermeldung erhalten oder aufgrund des Erreichens einer Kontingentbeschränkung eine Drosselung erfolgt, wenden Sie sich an Ihren System Administrator oder an DBA, um die Gesamt-Workload von Unistore zu überprüfen; möglicherweise kann dieser geändert werden, um eine Überschreitung des Kontingents zu vermeiden. DBAs können sich an Snowflake Support wenden, um die Leistung von Abfragen und die Nutzung von Quoten zu bewerten. Bei einigen Arbeitslasten müssen Sie möglicherweise eine Quotenerhöhung veranlassen, indem Sie das Support-Team um Hilfe bitten.

Sekundäre Indizes

Die folgenden Features für sekundäre Indizes werden nicht unterstützt:

  • Hinzufügen einer Spalte zu einem bestehenden Index.

  • Ändern eines Indexes in einer bestehenden Hybridtabelle.

Änderungen können übernommen werden, indem der Index gelöscht und neu erstellt wird.

Um einen sekundären Index auf einer Hybridtabelle zu verwenden, müssen Sie eine Rolle verwenden, die über die SELECT-Berechtigung für die Tabelle verfügt. Wenn Sie nur Zugriff auf andere Objekte als die Hybridtabelle selbst haben, können Sie keine sekundären Indizes verwenden.

TIMESTAMP_NTZ ist ein unterstützter Spaltentyp für sekundäre Indizes. TIMESTAMP_TZ wird jedoch nicht unterstützt. DATETIME ist ein Alias für TIMESTAMP_NTZ und wird daher unterstützt. TIMESTAMP wird unterstützt, wenn es als Alias für TIMESTAMP_NTZ konfiguriert wird.

Weitere Informationen zu sekundären Indizes finden Sie unter Hinzufügen von Indizes zu einer Hybridtabelle.

Durchsatz

Bei einem ausgeglichene Workload mit 80 % Lesen und 20 % Schreiben können Sie bis zu ca. 8.000 Operationen pro Sekunde auf Hybridtabellen in Ihrem Konto ausführen. Wenn Sie dieses Limit überschreiten, kann Snowflake Ihren Durchsatz verringern. Weitere Informationen dazu finden Sie unter Kontingente und Drosselung.

Time Travel und Klonen

Time Travel-Abfragen, die aus Hybridtabellen auswählen, werden mit den folgenden Beschränkungen unterstützt:

  • Nur der TIMESTAMP-Parameter wird in der AT-Klausel unterstützt.

    • Der Wert des Parameters TIMESTAMP muss für alle Tabellen, die zur gleichen Datenbank gehören, gleich sein.

    • Wenn die Tabellen zu verschiedenen Datenbanken gehören, können Sie unterschiedliche TIMESTAMP-Werte verwenden.

  • Die Parameter OFFSET, STATEMENT und STREAM werden nicht unterstützt.

  • Die BEFORE-Klausel wird nicht unterstützt.

  • Der Befehl UNDROP TABLE, der von Time Travel abhängig ist, wird nicht unterstützt.

Informationen zur Unterstützung des Klonens von Hybridtabellen finden Sie unter Klonen von Datenbanken, die Hybridtabellen enthalten.

Transaktionen

Bei Hybridtabellen sind Transaktionen auf die Datenbank beschränkt, in der sich die Hybridtabelle befindet. Alle Hybridtabellen, auf die in einer Transaktion referenziert wird, müssen sich in derselben Datenbank befinden. Standard-Snowflake-Tabellen in derselben Transaktion sind von dieser Einschränkung nicht betroffen und können sich in verschiedenen Datenbanken befinden.

Transiente Schemas und Datenbanken

Sie können keine Hybridtabellen erstellen, die temporär oder transient sind. Im Gegenzug können Sie keine Hybridtabellen in transienten Schemas oder Datenbanken erstellen.

Nicht unterstützte Features

Zur Zeit unterstützen Hybridtabellen Folgendes nicht:

  • Tri-Secret Secure

    Sie können keine Hybridtabellen verwenden, wenn Ihr Snowflake-Konto für die Verwendung von Tri-Secret Secure aktiviert ist. Bevor Sie Hybridtabelle verwenden, überprüfen Sie, ob Ihr Snowflake-Konto für Tri-Secret Secure aktiviert ist. Wenden Sie sich dazu an den Snowflake-Support.

  • UNDROP

    • UNDROP SCHEMA und UNDROP DATABASE sind erfolgreich bei Entitäten, die Hybridtabellen enthalten, aber diese Hybridtabellen und deren Einschränkungen und Indizes können nicht wiederhergestellt werden.

    • Die Spalte DELETED in Ansicht TABLES zeigt den Zeitpunkt der Löschung als UNDROP-Zeitpunkt der übergeordneten Entität an.

    • Der Ansicht ACCESS_HISTORY enthält einen Eintrag für DROP/UNDROP der übergeordneten Entität, aber keine Einträge für Hybridtabellen.