MSA 다 좋은데, 데이터베이스는 어떡하지? (성기훈 상무/티맥스티베로)

1. 잇(IT)터뷰 전체 영상 보기

잇(IT)터뷰 전체 내용은 ▼아래 영상▼에서 확인해 주세요!
 

게스트 : 성기훈 상무 / 티맥스티베로
진행자 : 고우성 PD / 토크아이티 (wsko@talkit.tv, https://talkit.tv/)

 

 

영상 목차

 

◼ 아래 각 목차를 클릭하시면 해당 내용을 영상으로 바로 보실 수 있습니다.
컨테이너 vs VM
Database per Service 이슈1: JOIN
Database per Service 이슈2: 트랜잭션 프로세싱
MSA 데이터베이스 제안

 

 

2. 잇(IT)터뷰 내용 맛보기

‘잇(IT)터뷰 내용 맛보기’는 영상 내용 일부를 스크립트로 표현합니다.
더 많은 내용이 궁금하시다면 페이지 상단의 영상이나 페이지 하단 영상 링크를 클릭하여 확인해 주세요!

 

고우성 : 안녕하세요. 테크 세미나의 핵심을 읽어주는 토크아이티의 세미남 고우성 PD입니다.
요즘 민간기업뿐만 아니라 공공기관들도 클라우 네이티브 아키텍처(Cloud Native Architecture) 기반의 IT인프라로의 전환을 많이 검토하고 있습니다.
그런데 클라우드 네이티브 하면 거의 같이 따라 나오는 개념이 마이크로 서비스 아키텍처(Micro Service Architecture)인 MSA입니다.
이번 세미나에서는 MSA를 데이터베이스 관점에서 바라보고 어프로치 할 때 어떤 고려 사항들이 있는지를 데이터베이스 전문 기업 티맥스티베로 성기훈 상무의 명쾌한 설명을 들어보겠습니다.
성기훈 : MSA를 하려면 Monolithic에서 MSA로 갈 때 궁극적으로 다 쪼개서 이렇게 간다는 건데요. 제가 보는 관점은 이게 저렇게 갈 수는 없을 거고요. MSA로 갈 수 있는 업무와 없는 업무가 있을 것입니다.
그래서 통합 DB라는 것 즉, 서비스가 쪼개지긴 하지만 DB 자체는 통합으로 되는 것과 DB가 쪼개지는 것, 이렇게 두 가지 경우로 되어 있다고 봅니다.

 
MSA DB 전환단계

 

고우성 : 사실, 우리나라 민간 기업들도 그렇고 정부 기관은 더 할 것 같은데요. 이게 페이스북이나 구글처럼 업데이트를 하루에도 몇 번씩 엄청나게 할 필요는 없잖아요. 그런 서비스가 뭐가 있겠습니까?
성기훈 : 그렇죠. 그런 것은 효율성, 성능이 훨씬 더 중요한 거죠. 그래서 거의 대부분의 기간 업무들은 저렇게 가기가 쉽지 않은데 이런 것들을 페이스북이나 국내 잘 나가는 신생 기업들이 MSA 구현을 해서 보여주니까 다 할 수 있는 것처럼 얘기를 하는데 쉽지는 않은 것 같습니다.
고우성 : 그렇죠.
성기훈 : 그래서 제가 말씀드리는 것은 생산성의 문제인데, 통합 DB나 이런 것들 마이크로 서비스를 가기 위해서는, 오른쪽처럼 복잡성이 증가하는 분야에서는 마이크로 서비스로 가는 것이 더 적합한 것입니다.

 
마이크로서비스
 

근데 아예 생산성이 좋고 효율적인 부분에 어떻게 보면 최적화되어 있는 업무에서, 변경이 별로 없는 것에는 굳이 마이크로 서비스로 갈 필요가 없다는 거죠.
이게 조직도 다 바뀌어야 되고 일하는 방식도 바뀌어야 되고 쉽진 않습니다.
고우성 : 예전에 어떤 소프트웨어 대가이신 분이 이렇게 말씀하시더라고요.
‘우리나라에서 진짜 애자일 개발을 정말 미국같이 하는 데는 현실적으로 거의 없다.’
성기훈 : 그렇죠. 그것을 특히 공공기관 이런 곳에서 어떻게 할 수 있을까요?

 


 

3. 잇(IT)터뷰 내용

이번 잇(IT)터뷰는 클라우드 네이티브 아키텍처와 마이크로서비스 아키텍처(MSA)에서 데이터베이스를 어떻게 다루는지에 대해 설명하는 세미나입니다.

 

① MSA와 클라우드 네이티브 아키텍처 개요
MSA는 애플리케이션을 작고 독립적인 서비스로 나누는 방식으로, 각 서비스는 독립적으로 배포되고 확장될 수 있습니다.
클라우드 네이티브 아키텍처는 클라우드 환경에서 최적화된 애플리케이션을 설계하고 운영하는 방식을 말합니다.

 

② 데이터베이스 접근 방식
전통적인 방식에서는 단일 데이터베이스를 사용하여 모든 데이터를 관리하지만, MSA에서는 각 서비스가 별도의 데이터베이스를 가질 수 있습니다.
데이터베이스를 분리하면 데이터 정합성 유지와 트랜잭션 처리에 어려움이 있을 수 있습니다. 예를 들어, 여러 서비스 간의 조인과 트랜잭션 처리 문제가 발생할 수 있습니다.

 

③ 컨테이너와 VM
MSA에서 컨테이너를 사용하는 것이 일반적이지만, VM을 사용하는 것도 가능합니다.
컨테이너는 경량이지만 영구 데이터를 저장하기에는 아직 부족한 면이 있습니다. 따라서 VM과 컨테이너를 병행해서 사용하는 것이 가능합니다.

 

④ 데이터 일관성 유지
MSA에서는 이벤트 기반의 데이터 일관성 유지 방식(이벤트추상 일관성)을 사용합니다.
이 방식은 데이터 정합성을 즉각적으로 보장하지 않고, 일정 시간 이후에 일관성이 맞춰지도록 합니다. 이는 실시간 정합성이 필요한 업무에는 적합하지 않을 수 있습니다.

 

⑤ 현실적인 MSA 구현 방안
모든 기업이 MSA를 도입할 필요는 없습니다. 특히 데이터 변경이 빈번하지 않은 업무에서는 전통적인 모놀리식 아키텍처가 더 적합할 수 있습니다.
대규모 IT 기업들이 MSA를 도입한 사례를 따라하려는 것은 현실적으로 어려울 수 있습니다. 각 기업의 상황에 맞는 최적의 방안을 찾아야 합니다.

 

⑥ 마이그레이션과 관리
기존 데이터베이스를 MSA 환경으로 마이그레이션할 때 고려할 사항들이 많습니다.
통합 데이터베이스와 분리된 데이터베이스를 적절히 혼합하여 사용할 수 있으며, 데이터 동기화 및 관리 솔루션을 활용할 수 있습니다.

 

⑦ Tibero의 솔루션
Tibero는 다양한 MSA 데이터베이스 관리 방안을 제공하며, 컨테이너와 VM 환경 모두에서 운영될 수 있습니다.
데이터 정합성을 유지하기 위한 CDC 솔루션 등을 제공합니다.

 

이번 잇(IT)터뷰를 통해 클라우드 네이티브 아키텍처와 MSA의 기본 개념, 데이터베이스 관리 방안, 현실적인 구현 방법에 대해 체계적으로 배울 수 있습니다.

 

◼ 전체 잇(IT)터뷰 내용은 ▶영상으로 바로 가기(클릭)◀에서 확인하실 수 있습니다.

◼ 아래 각 목차를 클릭하시면 해당 내용을 영상으로 바로 보실 수 있습니다.
컨테이너 vs VM
Database per Service 이슈1: JOIN
Database per Service 이슈2: 트랜잭션 프로세싱
MSA 데이터베이스 제안

 

 


◼ 콘텐츠 & 웨비나 문의 : marketing@talkit.tv, 02-565-0012
Copyright ⓒ 토크아이티 All rights reserved. 무단 전재 및 재배포 금지.