Nicht unterstützte Features und Einschränkungen bei Hybridtabellen

Die folgenden Hinweise zu nicht unterstützten Features und Einschränkungen gelten für Hybridtabellen; Änderungen vorbehalten.

Nicht unterstützte Features

Hybridtabellen unterstützt Folgendes nicht:

Einschränkungen

Klonen

Obwohl das Klonen für Hybridtabellen nicht unterstützt wird, können Sie Datenbanken und Schemas, die Hybridtabellen enthalten, klonen, indem Sie den Parameter IGNORE HYBRID TABLES in der Anweisung CREATE <Objekt> … CLONE verwenden.

Clouds und Regionen

Hybridtabellen sind in der öffentlichen Vorschau nur in ausgewählten öffentlichen Amazon Web Services (AWS)-Regionen verfügbar:

Cloudregion

Cloudregions-ID

US West (Oregon)

us-west-2

US East (Ohio)

us-east-2

US East (N. Virginia)

us-east-1

Canada (Central)

ca-central-1

South America (Sao Paulo)

sa-east-1

Europe (London)

eu-west-2

EU (Irland)

eu-west-1

EU (Paris)

eu-west-3

EU (Stockholm)

eu-north-1

EU (Frankfurt)

eu-central-1

Asia Pacific (Tokio)

ap-northeast-1

Asia Pacific (Seoul)

ap-northeast-2

Asia Pacific (Osaka)

ap-northeast-3

Asia Pacific (Mumbai)

ap-south-1

Asia Pacific (Singapur)

ap-southeast-1

Asia Pacific (Sydney)

ap-southeast-2

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

  • Hybridtabellen sind nicht verfügbar in SnowGov-Regionen.

  • Hybridtabellen sind für Testkonten nicht verfügbar.

  • 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.

Gruppierungsschlüssel

Gruppierungsschlüssel werden in Hybridtabellen nicht unterstützt. Weitere Informationen dazu finden Sie unter Gruppierungsschlüssel und geclusterte Tabellen. Die Daten in Hybridtabellen sind nach dem Primärschlüssel sortiert.

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

Während Einschränkungen für Primärschlüssel, eindeutige Schlüssel und Fremdschlüssel in Hybridtabellen erzwungen werden, gelten die folgenden Einschränkungen:

  • Einschränkungen können nur bei der Tabellenerstellung definiert werden.

  • Einschränkungen werden auf Zeilenebene erzwungen.

  • Einschränkungen werden nicht auf Anweisungs- oder Transaktionsebene erzwungen (d. h. aufgeschobene Einschränkungen).

  • Sie können eine Spalte nicht so ändern, dass sie eindeutig ist.

Die folgenden zusätzlichen Einschränkungen gelten für Fremdschlüssel:

  • Fremdschlüsseleinschränkungen werden nur zwischen Hybridtabellen unterstützt, die zur selben Datenbank gehören.

  • Die Tabelle, auf die von einer Fremdschlüsseleinschränkung verwiesen wird, kann nicht abgeschnitten werden, solange die Fremdschlüsselbeziehung besteht.

  • Fremdschlüsseleinschränkungen unterstützen keinen partiellen Abgleich.

  • Fremdschlüsseleinschränkungen unterstützen kein aufschiebbares Verhalten.

  • Fremdschlüsseleinschränkungen unterstützen bei DELETE- und UPDATE-Operationen nur ein RESTRICT- und NO ACTION-Verhalten.

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 1 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.

Laden von Daten

Der Befehl CREATE TABLE … AS SELECT wird für das Massenladen von Daten in eine Hybridtabelle empfohlen. Dieser Befehl ist auf Performance optimiert und ist beim Laden von Millionen von Datensätzen ungefähr 10-mal schneller als andere Befehle, wie z. B. COPY oder INSERT INTO … SELECT.

Weitere Informationen dazu finden Sie unter Laden von Daten.

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.

Periodische Wiederverschlüsselung

Sie können keine Hybridtabellen verwenden, wenn Ihr Snowflake-Konto für die Verwendung der periodischen Wiederverschlüsselung aktiviert ist. Wenn die periodische Wiederverschlüsselung in Ihrem Konto aktiviert ist und Sie Hybridtabellen verwenden möchten, müssen Sie einen ALTER ACCOUNT-Befehl verwenden, um den Parameter PERIODIC_DATA_REKEYING auf FALSE zu setzen.

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

1 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 Schreiboperationen, mit denen Daten zu Hybridtabelle hinzugefügt werden, vorübergehend so lange blockiert, bis Sie den Hybridspeichers durch Löschen von Daten wieder unter das Limit gebracht haben.

Hybridtabellenanforderungen

Ungefähr 2.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 2.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 dieses Kontingent überschreiten, können Sie keine hybride Tabelle in einer neuen Datenbank erstellen, ohne alle hybriden Tabellen aus einer bestehenden Datenbank zu löschen oder Ihr Kontingent 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. Für einige Workloads müssen Sie das Kontingent möglicherweise erhöhen.

Replikation

Die Replikation von Hybridtabellen wird derzeit nicht unterstützt.

Sekundäre Indizes

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

  • Hinzufügen einer Spalte zu einem Index.

  • Ändern eines Index für eine bestehende Hybridtabelle.

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 Spalten werden unterstützt. Vergleiche (z. B. WHERE-Prädikate) mit TIMESTAMP-Spalten, die Teil eines zusammengesetzten Schlüssels in einer Basistabelle oder einem Index sind, werden jedoch derzeit nicht unterstützt und führen zu einem Fehler.

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. 2.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

Time Travel-Abfragen werden für Hybridtabellen mit den folgenden Beschränkungen unterstützt:

  • Nur der TIMESTAMP-Parameter wird in der AT-Klausel unterstützt. Die Parameter OFFSET, STATEMENT und STREAM werden nicht 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 unterschiedliche TIMESTAMP-Werte verwendet werden.

    • Das Klonen wird für Hybridtabellen im Allgemeinen nicht unterstützt, daher können Sie die AT Klausel nicht in CREATE TABLE … CLONE angeben.

  • Die BEFORE-Klausel wird nicht unterstützt.

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

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.

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 wird für Hybridtabellen nicht unterstützt. Außerdem:

  • 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.

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