Amazon Keyspaces에서 키스페이스로 작업하기 - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Keyspaces에서 키스페이스로 작업하기

이 섹션에서는 Amazon Keyspaces(Apache Cassandra용)의 키스페이스 작업에 대한 세부 정보를 제공합니다.

Amazon Keyspaces에서 시스템 키스페이스로 작업하기

Amazon Keyspaces는 네 가지 시스템 키스페이스를 사용합니다.

  • system

  • system_schema

  • system_schema_mcs

  • system_multiregion_info

다음 섹션에서는 Amazon Keyspace에서 지원되는 시스템 키스페이스 및 시스템 테이블에 대한 세부 정보를 제공합니다.

system

이것은 Cassandra 키스페이스입니다. Amazon Keyspaces는 다음 테이블을 사용합니다.

테이블 이름 열 이름 설명

local

key, bootstrapped, broadcast_address, cluster_name, cql_version, data_center, gossip_generation, host_id, listen_address, native_protocol_version, partitioner, rack, release_version, rpc_address, schema_version, thrift_version, tokens, truncated_at

로컬 키스페이스에 대한 정보

peers

peer, data_center, host_id, preferred_ip, rack, release_version, rpc_address, schema_version, tokens

이 테이블을 쿼리하여 사용 가능한 엔드포인트를 확인합니다. 예를 들어, 퍼블릭 엔드포인트를 통해 연결하는 경우 사용 가능한 IP 주소 9개의 목록이 표시됩니다. FIPS 엔드포인트를 통해 연결하는 경우 세 개의 IP 주소 목록이 표시됩니다. AWS PrivateLink VPC 엔드포인트를 통해 연결하는 경우 구성한 IP 주소 목록이 표시됩니다. 자세한 설명은 인터페이스 VPC 엔드포인트 정보로 system.peers 테이블 항목 채우기 섹션을 참조하세요.

size_estimates

keyspace_name, table_name, range_start, range_end, mean_partition_size, partitions_count

이 테이블은 모든 테이블의 각 토큰 범위에 대한 파티션의 총 크기와 수를 정의합니다. 이는 예상 파티션 크기를 사용하여 작업을 분배하는 Apache Cassandra Spark 커넥터에 필요합니다.

prepared_statements

prepared_id, logged_keyspace, query_string

이 테이블에는 저장된 쿼리에 대한 정보가 들어 있습니다.

system_schema

이것은 Cassandra 키스페이스입니다. Amazon Keyspaces는 다음 테이블을 사용합니다.

테이블 이름 열 이름 설명

keyspaces

keyspace_name, durable_writes, replication

특정 키스페이스에 대한 정보

tables

keyspace_name, table_name, bloom_filter_fp_chance, caching, comment, compaction, compression, crc_check_chance, dclocal_read_repair_chance, default_time_to_live, extensions, flags, gc_grace_seconds, id, max_index_interval, memtable_flush_period_in_ms, min_index_interval, read_repair_chance, speculative_retry

특정 테이블에 대한 정보

columns

keyspace_name, table_name, column_name, clustering_order, column_name_bytes, kind, position, type

특정 열에 대한 정보

system_schema_mcs

이것은 Amazon Keyspaces 특정 설정에 대한 정보를 저장하는 AWS Amazon Keyspaces 키스페이스입니다.

테이블 이름 열 이름 설명

keyspaces

keyspace_name, durable_writes, replication

이 테이블을 쿼리하여 프로그래밍 방식으로 키스페이스가 생성되었는지 확인할 수 있습니다. 자세한 설명은 Amazon Keyspaces에서 키스페이스 생성 섹션을 참조하세요.

tables

keyspace_name, creation_time, speculative_retry, cdc, gc_grace_seconds, crc_check_chance, min_index_interval, bloom_filter_fp_chance, flags, custom_properties, dclocal_read_repair_chance, table_name, caching, default_time_to_live, read_repair_chance, max_index_interval, extensions, compaction, comment, id, compression, memtable_flush_period_in_ms, status

이 테이블을 쿼리하여 특정 테이블의 상태를 확인할 수 있습니다. 자세한 설명은 Amazon Keyspaces에서 테이블 생성 섹션을 참조하세요.

또한 이 테이블을 쿼리하여 Amazon Keyspace에만 적용되고 저장되는 설정을 나열할 수 있습니다. custom_properties 예:

  • capacity_mode

  • client_side_timestamps

  • encryption_specification

  • point_in_time_recovery

  • ttl

tables_history

keyspace_name, table_name, event_time, creation_time, custom_properties, event

이 테이블을 쿼리하여 특정 테이블의 스키마 변경 사항에 대해 알아봅니다.

columns

keyspace_name, table_name, column_name, clustering_order, column_name_bytes, kind, position, type

이 테이블은 system_schema 키스페이스의 Cassandra 테이블과 동일합니다.

tags

resource_id, keyspace_name, resource_name, resource_type, tags

이 테이블을 쿼리하여 키스페이스에 태그가 있는지 알아봅니다. 자세한 설명은 CQL을 사용하여 신규 또는 기존 키스페이스 및 테이블에 태그 추가 섹션을 참조하세요.

autoscaling

keyspace_name, table_name, provisioned_read_capacity_autoscaling_update, provisioned_write_capacity_autoscaling_update

프로비저닝된 테이블의 Auto Scaling 설정을 가져오려면 이 테이블을 쿼리하세요. 참고로 이러한 설정은 테이블이 활성화되기 전까지는 사용할 수 없습니다. 이 테이블을 쿼리하려면 WHERE 절에 keyspace_nametable_name을 지정해야 합니다. 자세한 설명은 카산드라 쿼리 언어 (CQL) 를 사용한 Amazon Keyspaces 오토 스케일링 관리 섹션을 참조하세요.

system_multiregion_info

다중 리전 복제에 대한 정보를 저장하는 Amazon Keyspaces 키스페이스입니다.

테이블 이름 열 이름 설명

tables

keyspace_name, table_name, region, status

이 테이블에는 다중 지역 테이블에 대한 정보 (예: 테이블이 AWS 리전 복제되는 위치 및 테이블 상태) 가 들어 있습니다. 또한 이 테이블을 쿼리하여 저장되어 있는 Amazon Keyspace에만 적용되는 설정을 나열할 수 있습니다. custom_properties 예:

  • capacity_mode

이 테이블을 쿼리하려면 WHERE 절에 keyspace_nametable_name을 지정해야 합니다. 자세한 설명은 다중 리전 키스페이스 생성(CQL) 섹션을 참조하세요.

autoscaling

keyspace_name, table_name, provisioned_read_capacity_autoscaling_update, provisioned_write_capacity_autoscaling_update, region

이 테이블을 쿼리하여 멀티 리전 프로비저닝 테이블의 Auto Scaling 설정을 가져오세요. 참고로 이러한 설정은 테이블이 활성화되기 전까지는 사용할 수 없습니다. 이 테이블을 쿼리하려면 WHERE 절에 keyspace_nametable_name을 지정해야 합니다. 자세한 설명은 CQL을 사용하여 다중 지역 테이블 생성 및 관리 섹션을 참조하세요.

Amazon Keyspaces에서 키스페이스 생성

Amazon Keyspaces는 키스페이스 생성 및 삭제와 같은 데이터 정의 언어(DDL) 작업을 비동기적으로 수행합니다.

에서 새 키스페이스의 생성 상태를 모니터링할 수 있습니다. 이 AWS Management Console 상태는 키스페이스가 보류 중이거나 활성화된 시기를 나타냅니다. 또한 system_schema_mcs 키스페이스를 사용하여 프로그래밍 방식으로 새 키스페이스의 생성 상태를 모니터링할 수 있습니다. 키스페이스를 사용할 준비가 되면 system_schema_mcs keyspaces 테이블에 키스페이스가 표시됩니다.

새 키스페이스를 사용할 준비가 되면 확인하는 권장 설계 패턴은 Amazon Keyspaces system_schema_mcs keyspaces 테이블(system_schema_mcs.*)을 폴링하는 것입니다. 키스페이스에 대한 DDL 문 목록은 CQL 언어 참조의 Keyspaces 섹션을 참조하세요.

다음 쿼리는 키스페이스가 성공적으로 생성되었는지 여부를 보여 줍니다.

SELECT * FROM system_schema_mcs.keyspaces WHERE keyspace_name = 'mykeyspace';

성공적으로 생성된 키스페이스의 경우 쿼리 출력은 다음과 같습니다.

keyspace_name | durable_writes | replication --------------+-----------------+-------------- mykeyspace | true |{...} 1 item