Search

하나의 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:id는 bucket/folder/DATABASE_BOTTOMLESS_LOCATION/V1에서 확인할 수 있습니다. dual_db_1 의 storage:id 는 15402971787663951297_175 이고, dual_db_2 의 storage:id 는 15402971787663951297_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 수정 및 설명 추가