문서번호 : 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 수정 및 설명 추가 |