변수를 사용하여 무한 테이블 만들기
변수를 사용하여 테이블 만들기 모드를 설정하여 샤딩된 테이블과 참조 테이블을 만들 수 있습니다. 그러면 만든 테이블은 다른 모드를 설정할 때까지 이 모드를 사용합니다.
다음 변수를 사용하여 샤딩된 테이블과 참조 테이블을 만듭니다.
-
rds_aurora.limitless_create_table_mode
- 이 세션 변수를sharded
또는reference
로 설정합니다. 이 변수의 기본값은standard
입니다. -
rds_aurora.limitless_create_table_shard_key
- 이 세션 변수를 샤드 키로 사용할 열 이름 배열로 설정합니다. 이 변수는rds_aurora.limitless_create_table_mode
가sharded
가 아니면 무시됩니다.배열 열에 리터럴을 삽입할 때와 마찬가지로 값의 형식을
untyped array literal
로 지정합니다. 자세한 내용은 PostgreSQL 설명서의 Arrays를 참조하세요. -
rds_aurora.limitless_create_table_collocate_with
- 이 세션 변수를 특정 테이블 이름으로 설정하여 새로 만든 테이블을 해당 테이블과 공동 배치합니다.두 개 이상의 테이블이 동일한 샤드 키를 사용하여 샤딩되는 경우 해당 테이블을 명시적으로 정렬(공동 배치)할 수 있습니다. 두 개 이상의 테이블이 공동 배치되면 동일한 샤드 키 값을 가진 테이블의 행이 동일한 샤드에 배치됩니다. 공동 배치는 일부 작업을 단일 샤드로 제한하여 성능을 개선하는 데 도움이 됩니다.
참고
모든 프라이머리 키 및 고유 키에는 샤드 키가 포함되어야 합니다. 즉, 샤드 키는 프라이머리 키 또는 고유 키의 하위 집합입니다.
무한 테이블에는 몇 가지 제한 사항이 있습니다. 자세한 내용은 Aurora PostgreSQL Limitless Database에 대한 DDL 제한 사항 및 기타 정보 단원을 참조하십시오.
변수를 사용하여 무한 테이블을 만드는 예시
다음 예시에서는 이러한 변수를 사용하여 샤딩된 테이블과 참조 테이블을 만드는 방법을 보여줍니다.
id
샤드 키를 사용하여 items
이라는 샤딩된 테이블을 만듭니다.
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;
item_id
및 item_cat
열로 구성된 샤드 키를 사용하여 items
이라는 샤딩된 테이블을 만듭니다.
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;
item_id
및 item_cat
열로 구성된 샤드 키를 사용하여 item_description
이라는 샤딩된 테이블을 만들고 이전 예시의 items
테이블과 공동 배치합니다.
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;
colors
라는 참조 테이블을 만듭니다.
BEGIN; SET LOCAL rds_aurora.limitless_create_table_mode='reference'; CREATE TABLE colors(color_id int primary key, color varchar); COMMIT;
rds_aurora.limitless_create_table_mode
세션 변수를 standard
로 재설정하려면 다음 문을 사용합니다.
RESET rds_aurora.limitless_create_table_mode;
이 변수를 재설정하면 테이블이 기본값인 표준 테이블로 만들어집니다. 표준 테이블에 대한 자세한 내용은 표준 테이블을 무한 테이블로 변환 섹션을 참조하세요.
Aurora PostgreSQL Limitless Database 테이블 뷰
다음 뷰를 사용하여 Limitless Database 테이블에 대한 정보를 찾을 수 있습니다.
- rds_aurora.limitless_tables
-
rds_aurora.limitless_tables
뷰에는 무한 테이블 및 해당 유형에 대한 정보가 포함되어 있습니다.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_collocations
뷰에는 공동 배치된 샤딩된 테이블에 대한 정보가 포함되어 있습니다. 예를 들어,orders
및customers
테이블은 공동 배치되며collocation_id
가 동일합니다.users
및followers
테이블은 공동 배치되며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
은 각 공동 배치의 키 분배를 보여줍니다.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)