"장난감 같은 오픈소스DB, 어떻게 은행에 썼냐고요?"

김국배기자 2017. 10. 19. 10:26
자동요약 기사 제목과 주요 문장을 기반으로 자동요약한 결과입니다.
전체 맥락을 이해하기 위해서는 본문 보기를 권장합니다.

카카오뱅크가 오픈소스 DB인 마이SQL(MYSQL)을 쓴다고 했을 때 주변에서 많이 나온 말이라고 한다.

성동찬 한국카카오은행 데이터베이스관리자(DBA)는 최근 열린 네이버 개발자 콘퍼런스 '데뷰(DEVIEW) 2017'에서 어떻게 기존 레퍼런스가 없는 MYSQL를 도입해 잘 사용하고 있는지를 설명했다.

음성재생 설정
번역beta Translated by kaka i
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 가장 빠른 뉴스가 있고 다양한 정보, 쌍방향 소통이 숨쉬는 다음뉴스를 만나보세요. 다음뉴스는 국내외 주요이슈와 실시간 속보, 문화생활 및 다양한 분야의 뉴스를 입체적으로 전달하고 있습니다.

마이SQL 도입한 카카오뱅크..성동찬 DBA

<아이뉴스24>

[아이뉴스24 김국배기자] "장난감 같은 데이터베이스(DB)를 어떻게 은행처럼 대규모 시스템에 적용할 수 있나?"

카카오뱅크가 오픈소스 DB인 마이SQL(MYSQL)을 쓴다고 했을 때 주변에서 많이 나온 말이라고 한다. MYSQL은 주로 웹사이트 운용에 사용, 은행 같은 대형시스템이나 핵심업무에 쓰인 사례가 거의 없다는 이유에서다.

그만큼 국내 은행 서비스에는 비싸더라도 상용 DBMS를 쓰는 것이 정설처럼 굳어져 있다. 카카오뱅크가 주목받은 이유 중 하나도 이런 분위기를 뒤엎고 MYSQL을 활용했기 때문이다.

성동찬 한국카카오은행 데이터베이스관리자(DBA)는 최근 열린 네이버 개발자 콘퍼런스 '데뷰(DEVIEW) 2017'에서 어떻게 기존 레퍼런스가 없는 MYSQL를 도입해 잘 사용하고 있는지를 설명했다.

현재 카카오뱅크는 채널계 시스템에 MYSQL을 적용했다. 고객인증, 대고객채널, 멀티채널, 신용정보평가, 통합메시징 등의 은행 서비스에 쓰고 있다. 그러나 계정계는 대체하지 못했다. 여전히 오라클 DB를 사용한다.

성동찬 DBA는 "계정계를 MYSQL로 대체하지 못했는데 어떻게 혁신이냐는 말을 한다"며 "카뱅은 창구가 애플리케이션 하나다. MYSQL이 장애가 났다는 것은 앱이 구동되지 않은 셈이며 시중은행으로 치면 전국 지점이 무너지는 것과 마찬가지"라고 말했다. 그만큼 MYSQL이 중요한 영역에 도입해 활용되고 있다는 의미다.

카카오뱅크가 '장난감 같은 DB'를 금융 서비스에 활용할 수 있었던 배경은 무엇일까.

그는 "오라클을 사용했다면 굳이 하지 않았을 고민이 있었다"며 운을 뗐다. 그가 말한 고민은 오픈소스DB를 활용해 비용 절감 효과를 꾀하면서도 핵심인 서비스 데이터 일관성을 확보하는 문제다.

카카오뱅크 역시 다른 시중은행과 마찬가지로 고객의 돈(데이터)을 관리하는 은행이다. 안정성이 최우선일 수밖에 없다.

문제는 MYSQL의 이중화 기술 '리플케이션' 구조는 데이터 복제가 비동기 방식으로 오라클의 대표 이중화 기술인 '오라클 RAC'에 비해 데이터 유실 가능성이 컸다는 점. 이의 해결이 급선무였던 것.

성 DBA는 "오라클 RAC는 모든 노드가 같은 데이터에 접근해서 같은 파일을 쓰고 읽기 때문에 특정 노드에 문제가 생겨 장애가 나더라도 데이터(정합성)에 문제가 없는 반면 리플리케이션은 마스터에서 쓰기 완료된 데이터를 슬레이브 영역에 복제할 때 지연이 발생할 수 있다"고 설명했다.

즉, MYSQL은 마스터 서버의 데이터를 일정 간격을 두고 슬레이브 서버로 복제하는 구조여서 동기화되기 전에 장애가 발생한다면 데이터가 유실될 가능성을 배제할 수 없다는 뜻이다.

카카오뱅크의 해법은 로스리스 리플리케이션(Lossless Replication), MHA(Master High Availability) 기능의 조합이었다.

로스리스 리플리케이션 구조에서는 마스터에 변경이 생기면 '릴레이 로그'라는 것을 통해 슬레이브 어딘가에 반드시 변경 이력이 남아있다. 마스터가 슬레이브에 데이터를 복제할때 장애가 나더라도 슬레이브에 남아있는 릴레이 로그를 통해 데이터를 생성할 수 있다. MHA는 릴레이 로그를 바탕으로 30초 이내에 빠르게 데이터를 복구한다.

그는 "마스터와 슬레이브의 데이터가 반드시 일치할 필요는 없다"며 "복구 시 데이터 유실만 없으면 된다"고 말했다.

김국배기자 vermeer@inews24.com

▶프리미엄 뉴스서비스 아이뉴스24
▶연예스포츠 조이뉴스24, 생생한 라이브캐스트
[ⓒ 아이뉴스24 무단전재 및 재배포 금지]

Copyright © 아이뉴스24. 무단전재 및 재배포 금지.

이 기사에 대해 어떻게 생각하시나요?