Membuat tabel tanpa batas dengan menggunakan variabel - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membuat tabel tanpa batas dengan menggunakan variabel

Anda dapat menggunakan variabel untuk membuat tabel sharded dan referensi dengan mengatur mode pembuatan tabel. Kemudian tabel yang Anda buat akan menggunakan mode ini sampai Anda mengatur mode yang berbeda.

Gunakan variabel berikut untuk membuat tabel sharded dan referensi:

  • rds_aurora.limitless_create_table_mode— Tetapkan variabel sesi ini ke sharded ataureference. Nilai default dari variabel ini adalahstandard.

  • rds_aurora.limitless_create_table_shard_key— Atur variabel sesi ini ke array nama kolom untuk digunakan sebagai kunci shard. Variabel ini diabaikan ketika rds_aurora.limitless_create_table_mode tidaksharded.

    Format nilai sebagaiuntyped array literal, mirip dengan ketika Anda menyisipkan literal ke dalam kolom array. Untuk informasi selengkapnya, lihat Array dalam dokumentasi SQL Postgre.

  • rds_aurora.limitless_create_table_collocate_with— Tetapkan variabel sesi ini ke nama tabel tertentu untuk menyusun tabel yang baru dibuat dengan tabel itu.

    Jika dua atau lebih tabel di-sharded menggunakan kunci shard yang sama, Anda dapat secara eksplisit menyelaraskan (collocate) tabel tersebut. Ketika dua atau lebih tabel ditempatkan, baris dari tabel dengan nilai kunci shard yang sama ditempatkan pada pecahan yang sama. Kolokasi membantu membatasi beberapa operasi ke pecahan tunggal, yang menghasilkan kinerja yang lebih baik.

catatan

Semua kunci primer dan unik harus menyertakan kunci pecahan. Ini berarti bahwa kunci shard adalah bagian dari kunci primer atau unik.

Tabel tanpa batas memiliki beberapa keterbatasan. Untuk informasi selengkapnya, lihat Keterbatasan DDL dan informasi lainnya untuk Aurora PostgreSQL Limitless Database.

Contoh menggunakan variabel untuk membuat tabel tanpa batas

Contoh berikut menunjukkan bagaimana menggunakan variabel-variabel ini untuk membuat tabel sharded dan referensi.

Buat tabel sharded bernamaitems, dengan kunci 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;

Buat tabel sharded bernamaitems, dengan kunci pecahan terdiri dari item_id dan item_cat kolom.

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;

Buat tabel sharded bernamaitem_description, dengan kunci pecahan terdiri dari item_id dan item_cat kolom, dan kolokasikan dengan items tabel dari contoh sebelumnya.

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;

Buat tabel referensi bernamacolors.

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

Untuk mengatur ulang variabel rds_aurora.limitless_create_table_mode sesi kestandard, gunakan pernyataan berikut:

RESET rds_aurora.limitless_create_table_mode;

Setelah Anda mengatur ulang variabel ini, tabel dibuat sebagai tabel standar, yang merupakan default. Untuk informasi lebih lanjut tentang tabel standar, lihatMengonversi tabel standar ke tabel tanpa batas.

Tampilan tabel Basis Data Tanpa Batas Aurora Postgre SQL

Anda dapat menemukan informasi tentang tabel Limitless Database dengan menggunakan tampilan berikut.

rds_aurora.limitless_tables

rds_aurora.limitless_tablesTampilan berisi informasi tentang tabel tanpa batas dan jenisnya.

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

rds_aurora.limitless_table_collocationsTampilan berisi informasi tentang tabel sharded collocated. Misalnya, customers tabel orders dan ditempatkan, dan memiliki yang samacollocation_id. followersTabel users dan ditempatkan, dan memiliki hal yang samacollocation_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

Ini rds_aurora.limitless_table_collocation_distributions menunjukkan distribusi kunci untuk setiap kolokasi.

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)