brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 02. 2022

6탄-03. AWS Babelfish 이용 마이그레이션


데이터 베이스

MS SQL Server를 Aurora Postgre SQL로 데이터 베이스 마이그레이션을 가속화하는 내용


Babelfish

은하수를 여행하는 히치하이커를 위한 안내서

귀에서 바벨피쉬를 집어 넣으면 어떤 언어로 이야기한 것이라도 즉시 이해할수 있게 된다



<1> 바벨 피시?

<2> 상용 DB에서 오픈소스 DB로 변경 시 고려해야 하는 3가지

<3> 바벨 피시가 쿼리 변경 문제를 해결해준다!

<4> 바벨 피시  설치

<5>  바벨 피시 지원되는 기능과 지원되지 않는 기능

<10> 개인 정리

<20>  같이 보면 좋을 사이트



<1> 바벨 피시?


1

AWS의 관리형 데이터 베이스 상품인  Aurora PostgreSQL 안에 추가된 기능

MS SQL Server를 Aurora Postgre SQL로 데이터 베이스로 마이그레이션을 가속화하는 내용


2

상용 DB 사용 시?

비용 발생

lock in 발생


3

오픈소스 DB 사용 시?

비용 저렴

데이터 인프라의 민첩성 확보 가능




<2> 상용 DB에서 오픈소스 DB로 변경 시 고려해야 하는 3가지


1

스키마 변경 필요?

Tool?

AWS Schema Convertsion Tool(SCT) - 테이블의 스키마를 마이그레이션 할 수 있다.


2

데이터 마이 스레이 션?

AWS Database Migration Service(DMS)- 실제 데이터를 마이그레이션 할 때 사용한다.



3

DB 쿼리 및 API 등을 변경될 데이터베이스에 맞게 변경해야 한다.(문제가 많음)  

Rewrite T-SQL

Rewrite App Code

Switch Drivers  - 클라이언트 드라이버도 변경해야 한다.


예) 쿼리 변경 필요!!

SQL Server 쿼리 -> Postgre 쿼리로 변경 필요.

=>  바벨 피시가 쿼리 변경 문제를 해결해준다!




<3> 바벨 피시가 쿼리 변경 문제를 해결해준다!


1

이전에 사용하던 드라이버와 애플리케이션의 쿼리를 변경하지 않고 그대로 사용 가능하다.

SQL 서버의 T-SQL 사용 가능하다.


2

SQL 서버와 호환성을 유지할 수 있다.


3

훅 & 인 스텐션 (Postgre SQL )

훅 & 인 스텐션의 조합으로  바벨 피시가 만들어졌다.



<4> 바벨 피시  설치


1

RDS PostgreSQL 설치 시  turn on babelfish 선택 - 13.4 이상만 선택 가능


2

Single   or  multiple DB 중 선택



<5>  바벨 피시 지원되는 기능과 지원되지 않는 기능


1

지원되는 기능?

일반적인 기능은 지원된다.

저장 프로시저, 동적 쿼리 지원한다.


2

지원되지 않는 기능?

윈도의 펑션을 지원하는 기능은 안된다.

SSRS, SSIS  or SSAS 등

리포팅 서비스, 인테그레이션 서비스 등

// 자세한  내용은  aws 사이트 참고




<10> 개인 정리


1

바벨 피시는 MS SQL Server를 Aurora Postgre SQL로 데이터 베이스 마이그레이션을 가능하게 해 준다.


2

바벨 피시 전문으로 하는 DBE가 필요해 보인다.

바벨 피시 연결과 확인 시 디비 이름 등은 조금 다르니 숙지해야 한다.


3

일반 기능은 지원되나 지원되지 않는 기능도 있으니 확인 후 진행 바람.


4

바벨 피시로 DB 현대화와 비용 절감이 가능하다.





<20>  같이 보면 좋을 사이트


https://brunch.co.kr/@topasvga/1768


https://brunch.co.kr/@topasvga/1762


https://brunch.co.kr/@topasvga/1758


https://brunch.co.kr/@topasvga/2439



감사합니다.

매거진의 이전글 6탄-2. 랜딩존 구현의 핵심, AWS의 컨트롤 타워
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari