본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] AWS DMS - LOB 모드

by BTC_남요정 2023. 9. 15.

베하~!

안녕하세요 여러분!

BTC 블랙아웃입니다!!

 

최근 데이터 마이그레이션 작업을 할 기회가 있었는데요!

이번 기회를 통해 많은 것을 배울 수 있었습니다!

 

그래서 오늘은 이 AWS DMS란 무엇이고,

데이터 마이그레이션 시 생각해야 하는 여러가지 이슈 중에서 LOB란 무엇인지 함께 알아보도록 하겠습니다~!

 


 

1. AWS DM

AWS Database Migration Service(AWS DMS) 는 관계형 데이터베이스, 데이터 웨어하우스, NoSQL 데이터베이스 및 기타 유형의 데이터 저장소를 마이그레이션할 수 있는 클라우드 서비스 입니다.

 

AWS DMS를 사용하여 데이터를 클라우드와 온프레미스 설정의 조합으로 AWS 클라우드 또는 그 조합 간에 마이그레이션이 가능하며 원본 데이터 저장소를 검색하고 원본 스키마를 변환하여 데이터를 마이그레이션 할 수 있습니다.

 

AWS DMS에 관한 더 자세한 글은 아래 링크를 참고해 주세요.

https://btcd.tistory.com/303

 

[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 크기에 제한이 걸릴 수 있으므로, 실행하기 전에 확인해야 할 사항들이 있습니다.

우선,

  1. 원본에 있는 데이터의 최대 LOB 크기를 먼저 확인해 주어야 하며,
  2. 파라미터 수정을 통해 최대 LOB 크기를 지정해 주어야 합니다.
  3. 또한 복제 인스턴스에 작업을 처리하기에 충분한 메모리가 할당되어 있는지 확인하는 과정들이 필요하므로,

해당 절차들을 확인하신 후에 안정적으로 마이그레이션 하실 것을 권장드립니다.

 

이 외에도, 데이터의 완정성이 중요한지, 마이그레이션의 속도가 느려도 되는지 빨라야 하는지, 또 스토리지의 비용은 얼마정도가 적당한지 등도 고려해야 하는 사항들이 많습니다. 그러므로, 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

댓글