문서번호 : 11-262793
[정보]
•
이 섹션은 전체 백업에만 적용됩니다. 초기 전체 백업(BACKUP DATABASE… WITH INIT 으로 가져온 백업) 또는 증분 백업에는 적용되지 않습니다.
각 백업에는 백업을 구성하는 파일과 관련된 체크섬이 있습니다. 각 체크섬은 긴 16 진수 문자열로,
각 8 자는 백업의 하위 섹션을 나타냅니다. 이 체크섬을 생성하기 위해 SingleStore DB 는 CRC32 의
일반적인 변형인 CRC32C 를 사용하여 백업 파일을 처리합니다.
CRC32C 의 구현은 일반적으로 사용되는 crcmod 패키지로 확인되었지만 CRC32C 를 구현하거나
사용하는 모든 라이브러리를 사용할 수 있습니다.
다음과 같이 백업 되었을 때를 예로 들어 설명합니다.
| backup_database
\
| BACKUP_COMPLETE
| db.backup
| db_0.backup
| db_0.backup_columns0.tar
| db_0.backup_columns1.tar
| db_1.backup
| db_2.backup
| db_2.backup_columns0.tar
| db_2.backup_columns1.tar
| db_2.backup_columns2.tar
| db_3.backup
| db_3.backup_columns0.tar
Bash
복사
•
4개의 파티션 / NFS / Columnstore, Rowstore테이블이 혼합된 데이터베이스 백업\
•
MA에 생성된 BACKUP_COMPLETE 센티넬 파일에 체크섬이 기록됨
•
체크섬 처음 8자는 MA에 있는 참조 데이터베이스 db.backup의 CRC32C임
•
다음 체크섬은 파티션 순서에 따라 8자 또는 16자를 기록함
(스냅샷(db_x.backup)에 대한 8자 + Columnstore세그먼트 tar 파일이 있다면 8자 추가)
•
세그먼트 tar 파일이 생성된 경우 각 세그먼트 tar 파일이 연결되고 CRC32C 체크섬이 사용됨. 이는 함께 연결된 db_0.backup_columns0.tar 및 db_0.backup_columns1.tar의 CRC32C를 계산하거나 체크섬을 완료하지 않고 첫번째 tar 파일의 CRC32C를 계산한 다음 두번째 파일 등을 계산하는 것과 같음
•
참고) db_1 처럼, 데이터베이스에 Columnstore테이블이 있어도 데이터가 해당 Columnstore테이블의 숨겨진 Rowstore 테이블에 캐시될 수 있으므로 파티션에 해당하는 tar 파일이 없을 수 있습니다. 이 경우 데이터는 Rowstore 스냅샷 내에 포함됩니다.
일자 | 작성자 | 비고 |
2022.5.23 | min | |