콘솔을 사용하여 Oracle NoSQL Database Cloud Service에서 테이블 생성
콘솔에서 Oracle NoSQL Database Cloud Service 테이블 및 인덱스를 생성하고 관리하는 방법을 알아봅니다.
이 문서에는 다음 항목이 포함되어 있습니다.
컴파트먼트 생성
Oracle Cloud Infrastructure에 등록하면 Oracle이 모든 클라우드 리소스가 포함된 루트 구획으로 테넌시를 생성합니다. 그런 후 테넌시(루트 구획) 내에서 추가적인 구획을 생성하고, 각 구획의 리소스에 대한 액세스를 제어하기 위해 해당 정책을 생성할 수 있습니다. Oracle NoSQL Database Cloud Service 테이블을 생성하기 전에 Oracle은 테이블이 속할 컴파트먼트를 설정할 것을 권장합니다.
Oracle Cloud Infrastructure Identity and Access Management(IAM)에서 구획을 생성합니다. 테넌시 설정 및 구획 관리를 참조하십시오
단일 테이블 생성
NoSQL 콘솔에서 새 Oracle NoSQL Database Cloud Service 테이블을 생성할 수 있습니다.
NoSQL 콘솔에서는 다음 두 가지 모드로 Oracle NoSQL Database Cloud Service 테이블을 생성할 수 있습니다.
-
단순 입력 모드: 이 모드를 사용하면 DDL 문을 작성하지 않고도 선언적으로 NoSQL Database Cloud Service 테이블을 생성할 수 있습니다.
-
고급 DDL 입력 모드: 이 모드를 사용하여 DDL 문을 사용하여 NoSQL Database Cloud Service 테이블을 생성할 수 있습니다.
싱글톤 테이블 생성: 단순 입력 모드
단순 입력 테이블 생성 모드를 사용하여 NoSQL 콘솔에서 테이블을 생성하는 방법을 알아봅니다.
테이블을 생성합니다:
-
Infrastructure 콘솔에서 NoSQL 콘솔에 액세스합니다. Infrastructure 콘솔에서 서비스 액세스를 참조하십시오.
-
테이블 생성을 누릅니다.
-
[테이블 생성] 대화상자에서 테이블 생성 모드에 대해 단순 입력을 선택합니다.
-
예약된 용량에서 항상 무료 구성을 사용으로 설정하거나 용량 모드를 구성할 수 있습니다. 항상 무료 구성은 현재 피닉스 영역에서만 사용할 수 있습니다.
-
항상 무료 구성(피닉스 영역에서만 사용 가능):
토글 단추를 사용으로 설정하여 항상 무료 NoSQL 테이블을 생성합니다. 토글 단추를 사용 안함으로 설정하면 일반 NoSQL 테이블이 생성됩니다. 테넌시에 최대 3개의 상시 무료 NoSQL 테이블을 생성할 수 있습니다. 테넌시에 항상 무료 NoSQL 테이블이 세 개 있는 경우 항상 무료 SQL 테이블을 생성하는 토글 단추가 사용 안함으로 설정됩니다.
토글 단추를 사용으로 설정하여 항상 무료 NoSQL 테이블을 생성하면 읽기 용량, 쓰기 용량 및 디스크 스토리지 필드에 기본값이 지정됩니다. 용량 모드는 프로비저닝된 용량이 됩니다. 이러한 값은 변경할 수 없습니다.
항상 무료 구성 옵션으로 생성된 테이블의 세부정보, 기능 및 제한 사항에 대해 자세히 알아보려면 항상 무료 서비스를 참조하십시오.

일반 테이블을 생성하려면 토글 버튼을 사용 안함으로 설정합니다. 테이블에 적합한 능력 값을 입력할 수 있습니다.
-
읽기 용량(읽기 단위): 읽기 단위 수를 입력합니다. 읽기 단위에 대한 자세한 내용은 용량 추정을 참조하십시오.
-
쓰기 용량(쓰기 단위): 쓰기 단위 수를 입력합니다. 쓰기 단위에 대한 자세한 내용은 용량 추정을 참조하십시오.
-
디스크 저장 영역(GB): 테이블에서 사용할 디스크 공간(GB)을 지정합니다. 스토리지 용량에 대한 자세한 내용은 Estimating Capacity을 참조하십시오.

-
-
용량 모드
용량 모드에 대한 옵션을 프로비저닝된 용량 또는 온디맨드 용량으로 지정할 수 있습니다. 프로비저닝된 용량 및 온디맨드 용량 모드는 상호 배타적인 옵션입니다. 테이블에 대해 On Demand 용량을 사용하도록 설정한 경우 테이블의 읽기/쓰기 용량을 지정할 필요가 없습니다. 프로비저닝된 사용량이 아닌 실제 읽기 및 쓰기 단위 사용량에 대한 요금이 부과됩니다.
다음 중 하나에 해당하는 경우 테이블에 대해 On Demand 용량을 사용으로 설정하는 것이 좋습니다.
-
알 수 없는 작업 로드가 있는 새 테이블을 생성합니다.
-
예측할 수 없는 애플리케이션 트래픽이 있습니다.
-
당신은 당신이 사용하는 것에 대해서만 지불하는 것을 선호합니다.
테이블에 대한 On Demand 용량 활성화 제한:
-
On Demand 용량은 테이블의 용량을 쓰기 5,000개 및 읽기 10,000개로 제한합니다.
-
테넌트당 온디맨드 용량의 테이블 수는 3개로 제한됩니다.
-
프로비저닝된 테이블 단위보다 On Demand Capacity 테이블 단위에 대해 단위당 금액을 더 많이 지불합니다.

그림 crttbl_paid_prov.png에 대한 설명
온디맨드 용량을 선택하면 항상 무료 구성이 사용 안함으로 설정됩니다. Read Capacity 및 Write Capacity 입력 상자는 읽기 전용이 되고 On Demand Capacity 텍스트가 표시됩니다. On Demand 용량 테이블에는 읽기 및 쓰기 용량 열에 On Demand 용량이 표시됩니다. 용량 모드가 온디맨드 용량인 경우 항상 무료 제어가 사용 안함으로 설정됩니다. 디스크 스토리지(GB) 값을 지정합니다.

-
-
-
이름 필드에 테넌시 내에서 고유한 테이블 이름을 입력합니다.
테이블 이름은 Oracle NoSQL Database Cloud Service 이름 지정 규칙을 따라야 합니다. Oracle NoSQL Database Cloud Service Limits를 참조하십시오.
-
기본 키 열 섹션에서 기본 키 세부정보를 입력합니다.
-
열 이름: 테이블의 기본 키에 대한 열 이름을 입력합니다. 열 이름 지정 요구사항에 대한 자세한 내용은 Oracle NoSQL Database Cloud Service 제한을 참조하십시오.
-
유형: 기본 키 열에 대한 데이터 유형을 선택합니다.
-
정밀도:
TIMESTAMP입력 열에만 적용할 수 있습니다. 시간기록 값은 0에서 9 사이의 소수 표시 초 단위의 자릿수를 가집니다. 예를 들어, 전체 자릿수가 0이면 소수 표시 초가 저장되지 않고, 3이면 시간 기록에 밀리초가 저장되고 9는 나노초의 전체 자릿수를 의미합니다. 0은 최소 자릿수이고 9는 최대 자릿수입니다. -
샤드 키로 설정: 이 기본 키 열을 샤드 키로 설정하려면 이 옵션을 누릅니다. 샤드 키는 효율성 향상을 위해 Oracle NoSQL Database Cloud Service 클러스터에 데이터를 배포하고, 샤드 키를 공유하는 레코드를 로컬에 포지셔닝하여 쉽게 참조하고 액세스할 수 있도록 하는 것입니다. 샤드 키를 공유하는 레코드는 동일한 물리적 위치에 저장되며 원자적이고 효율적으로 액세스할 수 있습니다.
-
+ 다른 기본 키 열: 조합(다중 열) 기본 키를 생성하는 동안 열을 더 추가하려면 이 단추를 누릅니다.
-
조합 기본 키를 생성하는 동안 위쪽 및 아래쪽 화살표를 사용하여 열 순서를 변경합니다.

-
-
열 섹션에서 비기본 열 세부정보를 입력합니다.

-
열 이름: 열 이름을 입력합니다. Oracle NoSQL Database Cloud Service 제한에 설명된 열 이름 지정 요구 사항을 준수하는지 확인합니다.
-
유형: 열의 데이터 유형을 선택합니다.
-
정밀도:
TIMESTAMP입력 열에만 적용할 수 있습니다. 시간기록 값은 0에서 9 사이의 소수 표시 초 단위의 자릿수를 가집니다. 예를 들어, 전체 자릿수가 0이면 소수 표시 초가 저장되지 않고, 3이면 시간 기록에 밀리초가 저장되고 9는 나노초의 전체 자릿수를 의미합니다. 0은 최소 자릿수이고 9는 최대 자릿수입니다. -
크기:
BINARY입력 열에만 적용할 수 있습니다. 이진을 고정 이진으로 만들 크기를 바이트 단위로 지정합니다. -
기본값: (선택 사항) 열에 대한 기본값을 제공합니다.
주: 이진 및 JSON 데이터 유형 열에 대해서는 기본값을 지정할 수 없습니다.
-
값이 널이 아님: 열이 항상 값을 가져야 함을 지정하려면 이 옵션을 누릅니다.
-
+ 다른 열: 열을 더 추가하려면 이 단추를 누릅니다.
-
열을 삭제하려면 [삭제] 아이콘을 클릭합니다.
-
-
(옵션) 테이블 보관 시간(일) 필드에서 테이블의 행에 대한 만료 기간(일)을 지정합니다. 일 수가 지나면 행이 자동으로 만료되어 더 이상 사용할 수 없게 됩니다. 기본값은 0이며 만료 시간이 없음을 나타냅니다.
주: TTL(Table Time to Live)을 갱신해도 테이블의 기존 데이터에 대한 TTL 값은 변경되지 않습니다. 새 TTL 값은 이 값이 수정된 후 테이블에 추가된 행과 대체 행 특정 값이 제공되지 않은 행에만 적용됩니다.
-
(선택 사항) 고급 옵션을 지정하려면 고급 옵션 표시를 선택하고 고급 세부정보를 입력합니다.
태그 섹션에서 다음을 입력합니다.
-
태그 네임스페이스: 선택 목록에서 태그 네임스페이스를 선택합니다. 태그 네임스페이스는 태그 키의 컨테이너와 같습니다. 대소문자를 구분하지 않으며 테넌시에서 고유해야 합니다.
-
태그 키: 태그를 참조하는 데 사용할 이름을 입력합니다. 태그 키는 대소문자를 구분하지 않으며 네임스페이스 내에서 고유해야 합니다.
-
태그 값: 태그를 지정할 값을 입력합니다.
-
태그 추가: 태그를 더 추가하려면 누릅니다.

-
-
테이블 생성을 선택합니다.
테이블이 생성되어 NoSQL 콘솔에 나열됩니다.
현재 페이지에 대한 도움말을 보려면 페이지 상단의 도움말 링크를 누릅니다.
싱글톤 테이블 생성: 고급 DDL 입력 모드
고급 DDL 입력 테이블 생성 모드를 사용하여 NoSQL 콘솔에서 테이블을 생성하는 방법을 알아봅니다.
테이블을 생성합니다:
-
Infrastructure 콘솔에서 NoSQL 콘솔에 액세스합니다. Infrastructure 콘솔에서 서비스 액세스를 참조하십시오.
-
테이블 생성을 선택합니다.
-
[테이블 생성] 창에서 테이블 생성 모드에 대해 고급 DDL 입력을 선택합니다.
-
예약된 용량에서 항상 무료 구성을 사용으로 설정하거나 용량 모드를 구성할 수 있습니다.
-
항상 무료 구성(피닉스 영역에서만 사용 가능):
토글 단추를 사용으로 설정하여 항상 무료 NoSQL 테이블을 생성합니다. 토글 단추를 사용 안함으로 설정하면 일반 NoSQL 테이블이 생성됩니다. 테넌시에 최대 3개의 상시 무료 NoSQL 테이블을 생성할 수 있습니다. 테넌시에 항상 무료 NoSQL 테이블이 세 개 있는 경우 항상 무료 SQL 테이블을 생성하는 토글 단추가 사용 안함으로 설정됩니다.
토글 단추를 사용으로 설정하여 항상 무료 NoSQL 테이블을 생성하면 읽기 용량, 쓰기 용량 및 디스크 스토리지 필드에 기본값이 지정됩니다. 용량 모드는 프로비저닝된 용량이 됩니다. 이러한 값은 변경할 수 없습니다.
항상 무료 구성 옵션으로 생성된 테이블의 세부정보, 기능 및 제한 사항에 대해 자세히 알아보려면 항상 무료 서비스를 참조하십시오.

그림 crttbladv_af_prov.png에 대한 설명
일반 테이블을 생성하려면 토글 버튼을 사용 안함으로 설정합니다. 테이블에 적합한 능력 값을 입력할 수 있습니다.
-
읽기 용량(읽기 단위): 읽기 단위 수를 입력합니다. 읽기 단위에 대한 자세한 내용은 용량 추정을 참조하십시오.
-
쓰기 용량(쓰기 단위): 쓰기 단위 수를 입력합니다. 쓰기 단위에 대한 자세한 내용은 용량 추정을 참조하십시오.
-
디스크 저장 영역(GB): 테이블에서 사용할 디스크 공간(GB)을 지정합니다. 스토리지 용량에 대한 자세한 내용은 Estimating Capacity을 참조하십시오.

-
-
용량 모드
용량 모드에 대한 옵션을 프로비저닝된 용량 또는 온디맨드 용량으로 지정할 수 있습니다. 프로비저닝된 용량 및 온디맨드 용량 모드는 상호 배타적인 옵션입니다. 테이블에 대해 On Demand 용량을 사용하도록 설정한 경우 테이블의 읽기/쓰기 용량을 지정할 필요가 없습니다. 프로비저닝된 사용량이 아닌 실제 읽기 및 쓰기 단위 사용량에 대한 요금이 부과됩니다.
다음 중 하나에 해당하는 경우 테이블에 대해 On Demand 용량을 사용으로 설정하는 것이 좋습니다.
-
알 수 없는 작업 로드가 있는 새 테이블을 생성합니다.
-
예측할 수 없는 애플리케이션 트래픽이 있습니다.
-
당신은 당신이 사용하는 것에 대해서만 지불하는 것을 선호합니다.
테이블에 대한 On Demand 용량 활성화 제한:
-
On Demand 용량은 테이블의 용량을 쓰기 5,000개 및 읽기 10,000개로 제한합니다.
-
테넌트당 온디맨드 용량의 테이블 수는 3개로 제한됩니다.
-
프로비저닝된 테이블 단위보다 On Demand Capacity 테이블 단위에 대해 단위당 금액을 더 많이 지불합니다.

그림 crttbladv_paid_prov.png에 대한 설명
온디맨드 용량을 선택하면 항상 무료 구성이 사용 안함으로 설정됩니다. Read Capacity 및 Write Capacity 입력 상자는 읽기 전용이 되고 On Demand Capacity 텍스트가 표시됩니다. On Demand 용량 테이블에는 읽기 및 쓰기 용량 열에 On Demand 용량이 표시됩니다. 용량 모드가 온디맨드 용량인 경우 항상 무료 제어가 사용 안함으로 설정됩니다. 디스크 스토리지(GB) 값을 지정합니다.

-
-
-
DDL 입력 섹션에서 질의에 대한 테이블 DDL 생성 문을 입력합니다. 명령문이 불완전하거나 결함이 있는 경우 오류가 발생할 수 있습니다. OCI 콘솔에서 가능한 오류와 오류를 수정하는 방법에 대한 자세한 내용은 OCI 콘솔에서 SQL 문 오류 디버깅을 참조하십시오. 테이블 명령문 생성에 대한 예는 개발자 설명서를 참조하십시오.
-
(선택 사항) 고급 옵션을 지정하려면 고급 옵션 표시를 선택하고 고급 세부정보를 입력합니다.
- 태그 네임스페이스: 선택 목록에서 태그 네임스페이스를 선택합니다. 태그 네임스페이스는 태그 키의 컨테이너와 같습니다. 대소문자를 구분하지 않으며 테넌시에서 고유해야 합니다.
- 태그 키: 태그를 참조하는 데 사용할 이름을 입력합니다. 태그 키는 대소문자를 구분하지 않으며 네임스페이스 내에서 고유해야 합니다.
- 태그 값: 태그를 지정할 값을 입력합니다.
-
태그 추가: 태그를 더 추가하려면 누릅니다.

-
테이블 생성을 누릅니다.
테이블이 생성되어 NoSQL 콘솔에 나열됩니다.
현재 페이지에 대한 도움말을 보려면 페이지 상단의 도움말 링크를 누릅니다.
하위 테이블 생성
Oracle NoSQL Database를 사용하면 계층 구조(상위-하위 테이블)에서 테이블을 생성할 수 있습니다.
테이블 계층
create table 문을 사용하여 테이블을 다른 테이블의 하위 테이블로 생성한 다음 새 테이블의 상위 테이블이 될 수 있습니다. 이 작업은 하위 테이블에 대해 조합 이름(name_path)을 사용하여 수행됩니다. 조합 이름은 점으로 구분된 식별자의 숫자 N(N > 1)으로 구성됩니다. 마지막 식별자는 하위 테이블의 로컬 이름이고 첫번째 N-1 식별자는 상위 식별자의 이름입니다.
A
/ \
A.B A.G
/
A.B.C
/
A.B.C.D
최상위 상위 테이블은 A입니다. 하위 테이블 B는 조합 이름 A.B를 가져옵니다. 하위 테이블 C의 다음 레벨은 조합 이름 A.B.C 등을 가져옵니다.
하위 테이블의 속성:
-
하위 테이블을 생성하는 동안에는 읽기 용량, 쓰기 용량 또는 디스크 스토리지 제한을 지정할 수 없습니다. 하위 테이블은 상위 테이블의 해당 값을 공유합니다.
-
하위 테이블은 테넌시의 총 테이블 수에 대해 계산됩니다.
-
상위 테이블과 하위 테이블은 항상 동일한 구획에 있습니다.
-
측정항목 정보는 상위 레벨에서 수집 및 집계됩니다. 하위 테이블 레벨에는 측정항목이 표시되지 않습니다.
-
하위 테이블에는 상위 테이블과 독립적인 자체 태그가 있습니다.
-
하위 테이블은 상위 테이블의 용량 가격책정 모델도 상속합니다. 예를 들어, 상위 테이블이 On Demand 용량으로 구성된 경우 하위 테이블도 동일한 용량 가격 책정 모델로 구성할 수 있습니다.
상위-하위 테이블의 트랜잭션
상위 테이블과 하위 테이블은 동일한 샤드 키를 공유합니다. 하위 테이블을 사용하면 다음과 같은 두 가지 간단한 단계를 사용하여 여러 객체에서 ACID 트랜잭션을 수행할 수 있습니다.
-
테이블을 다른 테이블의 하위로 선언합니다.
-
writeMutlipleAPI를 사용하여 상위 및 하위 테이블에 대한 작업을 추가합니다.
하위 테이블이 없는 경우 여러 객체에서 ACID 트랜잭션을 달성하는 것은 지루한 절차입니다. 하위 테이블이 없으면 다음을 수행합니다.
-
트랜잭션에 포함할 모든 객체에 대한 샤드 키 값을 찾습니다.
-
모든 객체의 샤드 키가 동일한지 확인합니다.
-
writeMutlipleAPI를 사용하여 모든 객체를 모음에 추가합니다.
하위 테이블을 사용하여 여러 객체에서 ACID 트랜잭션을 쉽게 수행할 수 있습니다.
하위 테이블의 권한 부여:
테이블을 소유하지 않고 이 테이블에서 읽기, 삭제 또는 삽입하려는 경우 다음 두 조건을 충족해야 합니다.
-
하위 테이블에 대한 특정 권한(READ/INSERT/DELETE)이 있습니다.
-
계층에 있는 특정 하위 테이블의 상위 테이블에 대해 동일한 권한 또는 최소한 읽기 권한이 있습니다.
자세한 내용은 권한 부여를 위한 IAM 정책을 참조하십시오.
예를 들어, 소유하지 않은 하위 테이블 myTable.child1에 데이터를 삽입하려는 경우 하위 테이블에 대한 INSERT 권한과 myTable에 대한 READ 및/또는 INSERT 권한이 있어야 합니다. 하위 테이블에 권한을 부여하는 것은 상위 테이블에 권한을 부여하는 것과는 관계가 없습니다. 즉, 상위 테이블에 동일한 권한을 부여하지 않고도 하위 테이블에 특정 권한을 부여할 수 있습니다. 상위/하위 조인 query는 query에 사용된 모든 테이블에 대한 관련 권한이 필요합니다. 자세한 내용은 상위-하위 테이블과 왼쪽 포괄 조인 사용을 참조하십시오.
하위 테이블 생성
-
상위 테이블을 눌러 세부정보를 봅니다. 상위에 대해 이미 있는 하위 테이블 목록이 표시됩니다.
-
왼쪽 탐색 메뉴의 리소스에서 하위 테이블을 선택합니다.

-
상위 테이블의 하위 테이블 리스트가 표시됩니다. 하위 테이블을 생성하려면 하위 테이블 생성을 선택합니다.

-
단순 입력 메소드 또는 고급 DDL 입력 메소드를 선택하여 하위 테이블을 생성할 수 있습니다.
-
하위 테이블의 이름을 지정합니다. 자동으로 상위 테이블 이름 앞에 점이 붙습니다. 열 및 기본 키 열 목록을 지정합니다.


-
하위 테이블이 최상위 레벨 상위 테이블에서 해당 샤드 키를 상속하므로 하위 테이블을 생성하는 동안에는 샤드 키로 설정 확인란이 표시되지 않습니다.
주: 하위 테이블이 최상위 레벨 테이블에서 이러한 제한을 상속하므로 Read Capacity, Write Capacity 및 Disk Storage 필드가 지정되지 않습니다. 최상위 레벨 테이블에 설정된 제한은 하위 테이블에 자동으로 적용됩니다.
하위 테이블의 세부 정보 보기
하위 테이블이 생성된 후 해당 테이블의 세부 정보를 볼 수 있습니다.

viewtbl-childtbl.png 그림에 대한 설명