Creazione di tabelle Limitless utilizzando variabili - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di tabelle Limitless utilizzando variabili

Puoi utilizzare variabili per creare tabelle sottoposte a sharding e tabelle di riferimento impostando la modalità di creazione delle tabelle. Le tabelle che creerai utilizzeranno questa modalità finché non imposterai una modalità diversa.

Utilizza le seguenti variabili per creare tabelle sottoposte a sharding e tabelle di riferimento:

  • rds_aurora.limitless_create_table_mode: imposta questa variabile di sessione su sharded o reference. Il valore predefinito di questa variabile è standard.

  • rds_aurora.limitless_create_table_shard_key: imposta questa variabile di sessione su un array di nomi di colonna da utilizzare come chiavi di shard. Questa variabile viene ignorata quando rds_aurora.limitless_create_table_mode non è sharded.

    Formatta il valore come untyped array literal, simile a quando inserisci letterali in una colonna di array. Per ulteriori informazioni, consulta Arrays nella documentazione di PostgreSQL.

  • rds_aurora.limitless_create_table_collocate_with: imposta questa variabile di sessione su un nome di tabella specifico per co-localizzare le tabelle appena create con quella tabella.

    Se due o più tabelle sono sottoposte a sharding utilizzando la stessa chiave di shard, è possibile allinearle esplicitamente (co-localizzarle). Quando due o più tabelle sono co-localizzate, le righe con gli stessi valori di chiave di shard vengono posizionate nello stesso shard. La co-localizzazione aiuta a limitare alcune operazioni a un singolo shard, migliorando le prestazioni.

Nota

Tutte le chiavi primarie e uniche devono includere la chiave di shard. Ciò significa che la chiave di shard è un sottoinsieme della chiave primaria o unica.

Le tabelle Limitless presentano alcune limitazioni. Per ulteriori informazioni, consulta Limitazioni DDL e altre informazioni per Aurora PostgreSQL Limitless Database.

Esempi di utilizzo di variabili per creare tabelle Limitless

Gli esempi seguenti mostrano come utilizzare queste variabili per creare tabelle sottoposte a sharding e tabelle di riferimento.

Crea una tabella sottoposta a sharding denominata items, con la chiave di shard 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;

Crea una tabella sottoposta a sharding denominata items, con una chiave di shard composta dalle colonne item_id e 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;

Crea una tabella sottoposta a sharding denominata item_description, con una chiave di shard composta dalle colonne item_id e item_cat e co-localizzala con la tabella items dell’esempio precedente.

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;

Crea una tabella di riferimento denominata colors.

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

Per reimpostare la variabile di sessione rds_aurora.limitless_create_table_mode sustandard, utilizza la seguente istruzione:

RESET rds_aurora.limitless_create_table_mode;

Dopo aver reimpostato questa variabile, le tabelle vengono create come tabelle standard, che è il valore predefinito. Per ulteriori informazioni sulle tabelle standard, consulta Conversione di tabelle standard in tabelle Limitless.

Visualizzazioni della tabella di Aurora PostgreSQL Limitless Database

Puoi trovare informazioni sulle tabelle di Limitless Database utilizzando le seguenti visualizzazioni.

rds_aurora.limitless_tables

La visualizzazione rds_aurora.limitless_tables contiene informazioni sulle tabelle Limitless e sui loro tipi.

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

La visualizzazione rds_aurora.limitless_table_collocations contiene informazioni sulle tabelle sottoposte a sharding co-localizzate. Ad esempio, le tabelle orders e customers sono co-localizzate e presentano lo stesso collocation_id. Le tabelle users e followers sono co-localizzate e presentano lo stesso 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

rds_aurora.limitless_table_collocation_distributions mostra la distribuzione delle chiavi per ogni co-localizzazione.

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)