Erstellen von Limitless-Tabellen mithilfe von Variablen - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen von Limitless-Tabellen mithilfe von Variablen

Sie können mit Variablen Sharded- und Referenztabellen erstellen, indem Sie den Modus zur Tabellenerstellung festlegen. Die von Ihnen erstellten Tabellen verwenden dann diesen Modus, bis Sie einen anderen festlegen.

Verwenden Sie die folgenden Variablen, um Sharded- und Referenztabellen zu erstellen:

  • rds_aurora.limitless_create_table_mode: Legen Sie diese Sitzungsvariable auf sharded oder reference fest. Der Standardwert dieser Variable lautet standard.

  • rds_aurora.limitless_create_table_shard_key: Legen Sie für diese Sitzungsvariable ein Array von Spaltennamen fest, die als Shard-Schlüssel verwendet werden sollen. Diese Variable wird ignoriert, wenn rds_aurora.limitless_create_table_mode nicht sharded ist.

    Formatieren Sie den Wert als untyped array literal, ähnlich wie beim Einfügen von Literalen in eine Array-Spalte. Weitere Informationen finden Sie unter Arrays in der PostgreSQL-Dokumentation.

  • rds_aurora.limitless_create_table_collocate_with: Legen Sie für diese Sitzungsvariable einen bestimmten Tabellennamen fest, um neu erstellte Tabellen dieser Tabelle zuzuordnen.

    Wenn zwei oder mehr Tabellen mit demselben Shard-Schlüssel „gesharded“ werden, können Sie diese Tabellen explizit einander zuordnen (zusammenfassen). Wenn zwei oder mehr Tabellen zusammengefasst werden, werden Zeilen aus diesen Tabellen mit denselben Shard-Schlüsselwerten auf demselben Shard platziert. Die Zusammenfassung hilft dabei, einige Operationen auf einen einzigen Shard zu beschränken, was zu einer besseren Leistung führt.

Anmerkung

Alle primären und eindeutigen Schlüssel müssen den Shard-Schlüssel enthalten. Das bedeutet, dass der Shard-Schlüssel eine Teilmenge des primären oder eindeutigen Schlüssels ist.

Limitless-Tabellen haben einige Einschränkungen. Weitere Informationen finden Sie unter DDL-Einschränkungen und andere Informationen für Aurora PostgreSQL Limitless Database.

Beispiele für die Verwendung von Variablen zur Erstellung von Limitless-Tabellen

In den folgenden Beispielen wird gezeigt, wie Sie diese Variablen verwenden, um Sharded- und Referenztabellen zu erstellen.

Erstellen Sie eine Sharded-Tabelle mit dem Namen items und dem Shard-Schlüssel id.

BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"id"}'; CREATE TABLE items(id int, val int, item text); COMMIT;

Erstellen Sie eine Sharded-Tabelle mit dem Namen items und einem Shard-Schlüssel, der sich aus den Spalten item_id und item_cat zusammensetzt.

BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"item_id", "item_cat"}'; CREATE TABLE items(item_id int, item_cat varchar, val int, item text); COMMIT;

Erstellen Sie eine Sharded-Tabelle mit dem Namen item_description und einem Shard-Schlüssel, der sich aus den item_id und item_cat zusammensetzt, und ordnen Sie sie der Tabelle items aus dem vorherigen Beispiel zu.

BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='sharded'; SET LOCAL rds_aurora.limitless_create_table_shard_key='{"item_id", "item_cat"}'; SET LOCAL rds_aurora.limitless_create_table_collocate_with='items'; CREATE TABLE item_description(item_id int, item_cat varchar, color_id int); COMMIT;

Erstellen Sie eine Referenztabelle mit dem Namen colors.

BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='reference'; CREATE TABLE colors(color_id int primary key, color varchar); COMMIT;

Verwenden Sie die folgende Anweisung, um die Sitzungsvariable rds_aurora.limitless_create_table_mode auf standard zurückzusetzen:

RESET rds_aurora.limitless_create_table_mode;

Nachdem Sie diese Variable zurückgesetzt haben, werden Tabellen als Standardtabellen erstellt, was der Standardeinstellung entspricht. Weitere Informationen zu Standardtabellen finden Sie unter Konvertieren von Standardtabellen in Limitless-Tabellen.

Tabellenansichten für Aurora PostgreSQL Limitless Database

Informationen zu Limitless-Database-Tabellen finden Sie anhand der folgenden Ansichten.

rds_aurora.limitless_tables

Die Ansicht rds_aurora.limitless_tables enthält Informationen über Limitless-Tabellen und deren Typen.

postgres_limitless=> SELECT * FROM rds_aurora.limitless_tables; table_gid | local_oid | schema_name | table_name | table_status | table_type | distribution_key -----------+-----------+-------------+-------------+--------------+-------------+------------------ 5 | 18635 | public | standard | active | standard | 6 | 18641 | public | ref | active | reference | 7 | 18797 | public | orders | active | sharded | HASH (order_id) 2 | 18579 | public | customer | active | sharded | HASH (cust_id) (4 rows)
rds_aurora.limitless_table_collocations

Die Ansicht rds_aurora.limitless_table_collocations enthält Informationen über zusammengefasste Sharded-Tabellen. Zum Beispiel sind die Tabellen orders und customers zusammengefasst und haben die gleiche collocation_id. Die Tabellen users und followers sind zusammengefasst und haben die gleiche collocation_id.

postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocations ORDER BY collocation_id; collocation_id | schema_name | table_name ----------------+-------------+------------ 16002 | public | orders 16002 | public | customers 16005 | public | users 16005 | public | followers (4 rows)
rds_aurora.limitless_table_collocation_distributions

Das Ansicht rds_aurora.limitless_table_collocation_distributions zeigt die Schlüsselverteilung für jede Kollokation.

postgres_limitless=> SELECT * FROM rds_aurora.limitless_table_collocation_distributions ORDER BY collocation_id, lower_bound; collocation_id | subcluster_id | lower_bound | upper_bound ----------------+---------------+----------------------+---------------------- 16002 | 6 | -9223372036854775808 | -4611686018427387904 16002 | 5 | -4611686018427387904 | 0 16002 | 4 | 0 | 4611686018427387904 16002 | 3 | 4611686018427387904 | 9223372036854775807 16005 | 6 | -9223372036854775808 | -4611686018427387904 16005 | 5 | -4611686018427387904 | 0 16005 | 4 | 0 | 4611686018427387904 16005 | 3 | 4611686018427387904 | 9223372036854775807 (8 rows)