"장난감 같은 오픈소스DB, 어떻게 은행에 썼냐고요?"
OSS
게시글 작성 시각 2017-10-20 01:58:01
2017년 10월 19일 (목)
ⓒ 아이뉴스24, 김국배기자
마이SQL 도입한 카카오뱅크…성동찬 DBA
"장난감 같은 데이터베이스(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초 이내에 빠르게 데이터를 복구한다.
그는 "마스터와 슬레이브의 데이터가 반드시 일치할 필요는 없다"며 "복구 시 데이터 유실만 없으면 된다"고 말했다.
카카오뱅크가 오픈소스 DB인 마이SQL(MYSQL)을 쓴다고 했을 때 주변에서 많이 나온 말이라고 한다. MYSQL은 주로 웹사이트 운용에 사용, 은행 같은 대형시스템이나 핵심업무에 쓰인 사례가 거의 없다는 이유에서다.
그만큼 국내 은행 서비스에는 비싸더라도 상용 DBMS를 쓰는 것이 정설처럼 굳어져 있다. 카카오뱅크가 주목받은 이유 중 하나도 이런 분위기를 뒤엎고 MYSQL을 활용했기 때문이다.
![](http://image3.inews24.com/image_gisa/201710/1508325041688_1_201131.jpg)
성동찬 한국카카오은행 데이터베이스관리자(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초 이내에 빠르게 데이터를 복구한다.
그는 "마스터와 슬레이브의 데이터가 반드시 일치할 필요는 없다"며 "복구 시 데이터 유실만 없으면 된다"고 말했다.
※ 본 내용은 (주)아이뉴스24(http://www.inews24.com)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 아이뉴스24. 무단전재 및 재배포 금지
[원문출처 :http://news.inews24.com/php/news_view.php?g_serial=1054556&g_menu=020200]
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
공지 | [Open UP 활용가이드] 공개SW 활용 및 개발, 창업, 교육 "Open UP을 활용하세요" | 316080 | 2020-10-27 |
공지 | [Open UP 소개] 공개SW 개발·공유·활용 원스톱 지원 Open UP이 함께합니다 | 305674 | 2020-10-27 |
7451 | ‘클로바’, 사용자 친화적인 오픈 플랫폼으로 | 5685 | 2017-10-20 |
7450 | 오픈소스 개발 보드와 커뮤니티를 통한 사물인터넷 설계의 대중화 | 4420 | 2017-10-20 |
7449 | 그래피스, 더 효과적인 컨테이너 감사 툴의 등장 | 5047 | 2017-10-20 |
7448 | 일본 SBI홀딩스, 블록체인 기술 투자에 가장 적극적…구글은 2위 | 4896 | 2017-10-20 |
7447 | 그래피스, 더 효과적인 컨테이너 감사 툴의 등장 | 5225 | 2017-10-20 |
7446 | 벅스 HTML 웹플레이어 적용… "웹에서 바로 오디오 재생" | 5424 | 2017-10-20 |
7445 | 한국블록체인협회, 19일 발기인 총회 개최 | 5867 | 2017-10-20 |
7444 | "장난감 같은 오픈소스DB, 어떻게 은행에 썼냐고요?" | 5044 | 2017-10-20 |
7443 | 바이두, 내년 완전 자율주행 버스 운행 시작 | 4838 | 2017-10-20 |
7442 | 정부, 공문서에 HWP 대신 ODT 쓴다 | 6816 | 2017-10-20 |
0개 댓글