Unbegrenzte Anzahl von Tabellen mithilfe von Variablen erstellen - 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.

Unbegrenzte Anzahl von Tabellen mithilfe von Variablen erstellen

Sie können Variablen verwenden, um Sharded- und Referenztabellen zu erstellen, indem Sie den Tabellenerstellungsmodus einstellen. Dann verwenden die Tabellen, die Sie erstellen, diesen Modus, bis Sie einen anderen Modus einstellen.

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

  • rds_aurora.limitless_create_table_mode— Setzen Sie diese Sitzungsvariable auf sharded oderreference. Der Standardwert dieser Variablen iststandard.

  • rds_aurora.limitless_create_table_shard_key— Setzt diese Sitzungsvariable auf ein Array von Spaltennamen, die als Shard-Schlüssel verwendet werden sollen. Diese Variable wird ignoriert, wenn sie rds_aurora.limitless_create_table_mode nicht sharded ignoriert wird.

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

  • rds_aurora.limitless_create_table_collocate_with— Setzen Sie diese Sitzungsvariable auf einen bestimmten Tabellennamen, um neu erstellte Tabellen dieser Tabelle zuzuordnen.

    Wenn zwei oder mehr Tabellen mit demselben Shard-Schlüssel geteilt werden, können Sie diese Tabellen explizit ausrichten (zusammenstellen). Wenn zwei oder mehr Tabellen zusammengelegt werden, werden Zeilen aus diesen Tabellen mit denselben Shard-Schlüsselwerten auf demselben Shard platziert. Die Kollokation 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 DDLEinschränkungen und andere Informationen für Aurora Postgre SQL Limitless Database.

Beispiele für die Verwendung von Variablen zur Erstellung unbegrenzter Tabellen

Die folgenden Beispiele zeigen, wie Sie diese Variablen verwenden, um Sharded- und Referenztabellen zu erstellen.

Erstellen Sie eine Sharded-Tabelle mit dem Namenitems, mit 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 Namenitems, mit einem Shard-Schlüssel, der sich aus den Spalten und zusammensetzt. item_id item_cat

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 Namenitem_description, mit einem Shard-Schlüssel, der sich aus den item_cat Spalten item_id und zusammensetzt, und ordnen Sie sie der items Tabelle 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 Anweisungstandard, um die rds_aurora.limitless_create_table_mode Sitzungsvariable auf zurückzusetzen:

RESET rds_aurora.limitless_create_table_mode;

Nachdem Sie diese Variable zurückgesetzt haben, werden Tabellen als Standardtabellen erstellt. Dies ist die Standardtabelle. Weitere Informationen zu Standardtabellen finden Sie unterKonvertierung von Standardtabellen in unbegrenzt viele Tabellen.

Aurora Postgre SQL Limitless Database-Tabellenansichten

Informationen zu Limitless Database-Tabellen finden Sie in den folgenden Ansichten.

rds_aurora.limitless_tables

Die rds_aurora.limitless_tables Ansicht enthält Informationen über unbegrenzt viele 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 enthält Informationen über zusammengestellte Shard-Tabellen. rds_aurora.limitless_table_collocations Zum Beispiel sind die customers Tabellen orders und die Tabellen zusammengelegt und haben das Gleiche. collocation_id Die followers Tabellen users und die Tabellen sind angeordnet und haben das 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 zeigt die Schlüsselverteilung für jede Kollokation. rds_aurora.limitless_table_collocation_distributions

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)