Search
Duplicate

하나의 bucket에 여러 개의 USD 생성시 주의점

문서번호 : 11-490437

Document Information

최초 작성일 : 2022.08.18
최종 수정일 : 2022.11.21
이 문서는 아래 버전을 기준으로 작성되었습니다.
SinglestoreDB : 7.8

Goal

예제를 통해, 하나의 bucket에 여러 개의 USD를 생성할 경우의 주의점을 알아본다.

Solution

폴더별로 생성

1.
하나의 bucket에 여러 개의 USD를 생성할 경우, 폴더별로 구분하여 USD를 생성하는 것을 권장하고 있다.
dual bucket 안에 test_1 폴더에 dual_db_1 USD 생성
CREATE DATABASE dual_db_1 ON S3 "dual/test_1" CONFIG '{"endpoint_url":"http://1.221.218.250:30192"}' CREDENTIALS '{"aws_access_key_id":"minioadmin","aws_secret_access_key":"minioadmin"}';
SQL
복사
dual bucket 안에 test_2 폴더에 dual_db_2 USD 생성
CREATE DATABASE dual_db_2 ON S3 "dual/test_2" CONFIG '{"endpoint_url":"http://1.221.218.250:30192"}' CREDENTIALS '{"aws_access_key_id":"minioadmin","aws_secret_access_key":"minioadmin"}';
SQL
복사

폴더별로 생성하지 않은 경우

1.
하나의 bucket에 여러 개의 USD를 생성할 수 있다.
dual bucket 안에 test 폴더에 dual_db_1 USD 생성
CREATE DATABASE dual_db_1 ON S3 "dual/test" CONFIG '{"endpoint_url":"http://1.221.218.250:30192"}' CREDENTIALS '{"aws_access_key_id":"minioadmin","aws_secret_access_key":"minioadmin"}';
SQL
복사
dual bucket 안에 test 폴더에 dual_db_2 USD 생성
CREATE DATABASE dual_db_2 ON S3 "dual/test" CONFIG '{"endpoint_url":"http://1.221.218.250:30192"}' CREDENTIALS '{"aws_access_key_id":"minioadmin","aws_secret_access_key":"minioadmin"}';
SQL
복사
2.
detach 후에 attach 할 경우, 다음과 같은 에러가 나온다.
dual_db_1 USD를 detach 후, attach 할 경우
ATTACH DATABASE dual_db_1 ON S3 "dual/test" CONFIG '{"endpoint_url":"http://1.221.218.250:30192"}' CREDENTIALS '{"aws_access_key_id":"minioadmin","aws_secret_access_key":"minioadmin"}';
SQL
복사
ERROR 2523 UNKNOWN_ERR_CODE: Invalid path 'dual/test' for point-in-time attach: multiple V1 databases found in this location. Please provide a more specific location
Bash
복사
3.
STORAGEID storage:id 구문이 추가적으로 필요하다.
정상적인 attach 예제
ATTACH DATABASE dual_db_1 ON S3 "dual/test" CONFIG '{"endpoint_url":"http://1.221.218.250:30192"}' CREDENTIALS '{"aws_access_key_id":"minioadmin","aws_secret_access_key":"minioadmin"}' STORAGEID 15402971787663951297:175;
SQL
복사
storage:idbucket/folder/DATABASE_BOTTOMLESS_LOCATION/V1에서 확인할 수 있다. dual_db_1storage:id15402971787663951297_175 이고, dual_db_2storage:id15402971787663951297_177 이다.
master_minio/dual/test └─ DATABASE_BOTTOMLESS_LOCATION └─ V1 ├─ 15402971787663951297_175 └─ 15402971787663951297_177
Bash
복사
information_schema.MV_BOTTOMLESS_DATABASES.storage_id 에서 현재 attach하고 있는 USD의 storage:id 를 확인 할 수 있다. 아래의 예제는 dual_db_1을 detach 후, 조회한 결과이다. dual_db_1 은 조회가 되지 않는 것을 볼 수 있다.
SELECT DATABASE_NAME, STORAGE_ID FROM information_schema.MV_BOTTOMLESS_DATABASES;
SQL
복사
+---------------+---------------------------+ | DATABASE_NAME | STORAGE_ID | +---------------+---------------------------+ | dual_db_2 | 15402971787663951297:177 | +---------------+---------------------------+
Bash
복사

References

History

일자
작성자
비고
2022.08.18
wee
최초 작성
2022.11.21
wee, jnshin
typo 수정 및 설명 추가