베하~!
안녕하세요 여러분!
BTC 블랙아웃입니다!!
최근 데이터 마이그레이션 작업을 할 기회가 있었는데요!
이번 기회를 통해 많은 것을 배울 수 있었습니다!
그래서 오늘은 이 AWS DMS란 무엇이고,
데이터 마이그레이션 시 생각해야 하는 여러가지 이슈 중에서 LOB란 무엇인지 함께 알아보도록 하겠습니다~!
1. AWS DM
AWS Database Migration Service(AWS DMS) 는 관계형 데이터베이스, 데이터 웨어하우스, NoSQL 데이터베이스 및 기타 유형의 데이터 저장소를 마이그레이션할 수 있는 클라우드 서비스 입니다.
AWS DMS를 사용하여 데이터를 클라우드와 온프레미스 설정의 조합으로 AWS 클라우드 또는 그 조합 간에 마이그레이션이 가능하며 원본 데이터 저장소를 검색하고 원본 스키마를 변환하여 데이터를 마이그레이션 할 수 있습니다.
AWS DMS에 관한 더 자세한 글은 아래 링크를 참고해 주세요.
[24/365]AWS DMS 소개
안녕하세요!! 24/365입니다!! 오늘은 AWS 기능을 설명하려고 합니다! AWS RDS 관련해서는 여러 많은 기능들이 있는데, 오늘은 그중에서 1. DMS란? AWS DMS는 Database Migration Service의 약자로, 관계형 데이터
btcd.tistory.com
2. LOB
데이터를 마이그레이션 할 때 간혹 LOB 컬럼에 null 값이 허용되지 않았다는 경고를 확인하게 되는 경우가 있습니다.
이때 **“제한적 LOB 모드”**를 통해 오류를 해결하고 데이터 마이그레이션을 완료할 수 있는데요.
여기서 LOB란 무엇이고, 오류가 나타난 이유는 무엇일까요?
2.1 LOB (Large Object)
데이터베이스에서 사용되는 LOB란 단어는 Large OBject, 즉, 대형 객체를 말합니다.
말 그대로 용량이 큰 데이터로, 데이터베이스에 저장되는 다양한 타입의 데이터 중에 구조화 되지 않은, 용량이 큰 데이터를 처리하기 위한 타입입니다.
2.2 LOB 모드
DMS는 LOB 데이터의 크기와 양에 따라 마이그레이션 속도 및 성능에 영향을 받을 수 있기 때문에 LOB 모드 설정을 통해 LOB 데이터를 어떻게 처리할지 결정할 수 있습니다.
Full LOB 모드:
이 모드에서는 LOB 컬럼의 모든 내용을 소스에서 읽어 대상으로 전송합니다. 데이터의 완전성이 중요할 때 사용하는 모드입니다.
Limited LOB 모드:
이 모드에서는 LOB 데이터의 일부만 마이그레이션됩니다. 설정된 크기 이상의 LOB 데이터는 잘려서 전송되므로 데이터의 일부만 마이그레이션이 필요할 때 사용하는 모드입니다.
Inline LOB 모드:
LOB 데이터를 변경 없이 그대로 복사하는 모드입니다. 이 모드는 속도가 빠르며, LOB 데이터의 변형 없이 마이그레이션을 원할 때 사용됩니다.
3. AWS DMS 제한적 LOB 모드
LOB는 일반적으로 텍스트, 이미지, 오디오, 비디오, 문서 등과 같이, 대용량의 데이터를 저장하고 관리하는 데 특화되어 있기 때문에 다양한 형식의 데이터를 저장할 수 있습니다. 하지만 이런 데이터 들은 너무 크기 때문에 일반적인 테이블 컬럼에 저장하기에는 너무 크죠..!
그렇기 때문에, AWS DMS에서 데이터베이스를 마이그레이션을 하게 될 때 LOB 열을 이관할 경우, 먼저 LOB 열을 제외한 모든 데이터가 대상 테이블로 마이그레이션하게 됩니다.
이후 LOB 열에 NULL 레코드를 삽입하게 되고, AWS DMS가 LOB 열 데이터를 통해 대상 테이블의 행을 업데이트를 하게 됩니다.
하지만 이때 null값을 허용해 주지 않는 ‘not null’ 설정이 되어 있거나 지정 가능한 최대값을 넘어서는 LOB가 있을 경우 사전 평가에서 fail이 뜰 수 있습니다. 이때 “제한적 LOB 모드”를 사용하면 null 제약 조건이 허용되면서 에러없이 마이그레이션이 가능합니다.
하.지.만.
[LOB 제한적 모드]를 사용할 경우 최대 LOB 크기를 초과하는 경우가 생긴다면 LOB가 잘리게 되고
로그 파일에 경고 표시가 뜨면서 약간의 데이터 손실이 있을 수 있습니다.
[ AWS DMS 작업의 소스 데이터베이스에 대한 LOB 지원 설정 ]
이러한 문제로 인해 데이터 무결성이 걱정되신다면 현재 적용되어 있는 LOB 크기를 확인하신 후,
에러가 난 task 에 걸려있는 테이블 위주로 검증해보시는 것을 권장드립니다.
4. LOB 모드 선택 시 고려사항
[LOB 제한적 모드]를 사용하실 경우 작업을 LOB 크기에 제한이 걸릴 수 있으므로, 실행하기 전에 확인해야 할 사항들이 있습니다.
우선,
- 원본에 있는 데이터의 최대 LOB 크기를 먼저 확인해 주어야 하며,
- 파라미터 수정을 통해 최대 LOB 크기를 지정해 주어야 합니다.
- 또한 복제 인스턴스에 작업을 처리하기에 충분한 메모리가 할당되어 있는지 확인하는 과정들이 필요하므로,
해당 절차들을 확인하신 후에 안정적으로 마이그레이션 하실 것을 권장드립니다.
이 외에도, 데이터의 완정성이 중요한지, 마이그레이션의 속도가 느려도 되는지 빨라야 하는지, 또 스토리지의 비용은 얼마정도가 적당한지 등도 고려해야 하는 사항들이 많습니다. 그러므로, LOB 데이터의 특성과 요구 사항을 잘 파악하고, 적절한 LOB 모드를 선택하여 데이터베이스의 무중단 마이그레이션을 지원하는 DMS를 활용하시기 바랍니다!
이번 게시글을 통해 여러분들의 데이터가 더 안전하게 마이그레이션 될 수 있다면 좋겠습니다!!
그럼 다음 시간에 더 유익한 인프라 지식으로 찾아오겠습니다!
베빠~!
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] Amazon Route 53 Resolver (0) | 2023.09.16 |
---|---|
AWS API Gateway (0) | 2023.09.15 |
[AWS] CloudWatch Metric Stream (0) | 2023.09.15 |
[AWS] DynamoDB (1) (0) | 2023.09.15 |
VPC Flow Logs (0) | 2023.09.14 |
댓글