소프트웨어

[데뷰2017] “금융 서비스에 오픈소스 DB 써도 될까요?”

백지영

성동찬 한국카카오은행 DB엔지니어
성동찬 한국카카오은행 DB엔지니어
[디지털데일리 백지영기자] “레퍼런스가 중요한 환경에 레퍼런스가 없는 것이 이토록 힘든 일인지 몰랐습니다.”

16일 네이버의 연례 기술 컨퍼런스 ‘데뷰 2017’에서 성동찬 한국카카오은행 데이터베이스관리자(DBA)는 이같이 토로(?)했다.

지난 6월 27일 국내 2호 인터넷전문은행으로 출범한 카카오은행은 금융권에서는 보기 드물게 주요 업무에 오픈소스인 마이SQL 데이터베이스(DBMS)를 적용해 주목받은 바 있다. 흔히 국내 은행 서비스는 오라클과 같은 상용 DB로 구축한다는 것이 거의 기정사실처럼 받아들여지고 있다.

하지만 카카오은행은 기존의 사례에 뒤엎고, 오픈소스 DB인 마이SQL을 적극 활용해 은행 시스템을 구축했다. 마이SQL은 물론 하드웨어 역시 리눅스 OS 기반의 x86 시스템을 선택해 업계의 주목을 받았다.

이날 성 DBA는 “장난감 같은 DB 소리로 어떻게 할거냐는 얘기를 많이 들었다”며 “하지만 운영해 본 결과, 현재까지 장애 없이 잘 사용하고 있다”고 운을 뗐다. 물론 카카오은행이 마이SQL만 사용하는 것은 아니다. 계정계는 여전히 오라클 DB를 사용하고 있지만, 고객인증이나 대고객채널, 멀티채널, 신용정보평가, 통합 메시징, 내부 서비스 등 많은 부분에 마이SQL이 적용됐다.

즉, 계정계로 데이터를 보내는 API 영역인 멀티채널부터 애플리케이션을 사용하는 전반적인 부분에서 활용되고 있다.

그는 “하지만 오라클 DB를 사용했다면 하지 않아도 될 일들을 많이 했다”며 “고객의 데이터(돈)을 관리하는 은행인 만큼, 안정성이 최우선”이라고 말했다. 특히 오픈 이후 생각보다 많은 트래픽이 발생하며, 1주일 후 바로 인프라를 확장했을 정도로 사용자가 빠르게 늘어났다.

실제 카카오은행에 따르면, 서비스 시작 첫날인 6월 27일, 11시간만에 2016년 시중은행이 기록한 비대면 계좌개설 건수인 15만5000좌를 돌파했다. 출범 일주일만에 150만 계좌를 돌파하고, 이후 1달 간 하루 평균 10만좌가 새로 개설됐다.

그는 “기껏해야 1/4이나 반 정도로 예상했던 트래픽이 빠르게 증가하면서, 안정성에 더 집중했다”며 “이를 위해 로스리스(lossless, 데이터 이력을 슬레이브 어딘가에 남김) 복제와 마스터 고가용성(MHA), 2차 장애 방지 위한 도메인 페일오버를 활용하는 조합으로 이를 극복했다”고 설명했다.

예를 들어 오라클 DB는 RAC(Real Application Cluster)라는 기능을 통해 하나의 DB를 여러 서버가 공유한다. 즉, 서버 하나에 장애가 발생해도 다른 서버에서 바로 실행이 되는 액티브-액티브 방식이다. 반면 마이SQL의 데이터 복제는 비동기로 이뤄진다. 마스터에서 커밋된(쓰기가 완료된) 데이터를 비동기로 디스크에 복제 저장하는 만큼, 마스터 장애시 데이터 유실이 발생할 수 있다.

그는 “오픈소스를 가져다 쓰니깐 문제가 생긴다는 얘기를 듣고 싶지 않았다”며 “반드시 데이터가 일치할 필요는 없고, 복구시 데이터 유실만 없으면 된다는 결론을 내리고, 이에 대한 해답으로 마이SQL 5.7 버전의 로스리스 복제를 택했다”고 말했다.

로스리스(After-sync) 복제는 마이SQL 5.5의 반동기화 복제(Semi-sync replication)에서 약간 개선된 것으로 스토리지 엔진 커밋 전 전송하는 방식이다. 마이SQL은 마스터와 슬레이브라는 구조의 시스템을 운용하는데. 슬레이브 서버는 마스터 서버의 데이터를 특정 시점마다 복제한다.

마스터 DB에 예기치 않게 장애가 발생하더라도 슬레이브 어딘가에 변경 이력이 반드시 남아있게 된다. 여기에 30초 이내로 데이터 유실 없이 복구가 가능한 MHA 기능을 통해 오라클 RAC와 유사한 역할을 하도록 했다. 또, 2차 장애 방지를 위해 서비스 도메인 IP를 변경하는 도메인 페일오버를 방식을 채택했다.

이밖에 스케일아웃 확장시 데이터 특성을 보고 샤딩(동일노드 분산)을 구성했으며, 아카이빙 용도의 데이터는 ‘토쿠DB(TokuDB)’라는 또 다른 엔진을 채택했다. 이는 마이SQL을 전문적으로 기술 지원하는 퍼코나(Percona) 버전에 포함돼 있었으며, 기존 대비 1/8 수준으로 데이터를 줄일 수 있었다. 특히 마이SQL 담당 인력이 2명밖에 안 돼 95%를 자동화 구성하고, 서비스 튜닝 포인트를 찾고 있다.

그는 “카카오은행은 ‘금융 어벤저스’라고 부를 정도로 다양한 백그라운드를 가진 사람들이 모여있다”며 “그렇다보니 기술의 어려움보다는 금융 레퍼런스 부재로 인한 신뢰 확보, 상용 솔루션만 고집하는 문화나 공감할 수 없는 점들이 많았다”고 말했다.

그는 이어 “레퍼런스가 중요한 환경에 레퍼런스가 없다는 것이 이렇게 힘든 일인줄 몰랐다”며 “금융 서비스도 결국 하나의 서비스인 만큼, 오픈소스라는 기술을 잘 엮어서 상용 제품 못지 않게 안정성을 높기고, 스스로가 레퍼런스가 돼 보자는 것이 목표”라고 덧붙였다.

<백지영 기자>jyp@ddaily.co.kr

‘2017 클라우드 임팩트-사례로 알아보는 실전 클라우드 도입 전략’컨퍼런스에 여러분을 초대합니다.

클라우드 컴퓨팅이 공공 및 금융, 제조 분야 전방위로 확대되고 있습니다. 기존과는 전혀 다른 4차산업혁명과 맞물려 클라우드는 기업의 경쟁력 확보에 있어 필수적인 요소로 자리잡고 있습니다. 이에 디지털데일리는 실제 사례를 중심으로 기업이 클라우드를 어떻게 도입해야 하는지에 알아보는‘2017 클라우드 임팩트’컨퍼런스를 오는 10월24일(화) 쉐라톤 서울 디큐브시티 호텔에서 개최합니다.

아직도 클라우드 도입을 어떤 분야에 그리고, 어떤 규제를 준수하면서 도입해야 하는지에 대해 기업이 가지고 있는 정보는 많지 않습니다. 2018년 예산 및 사업계획을 수립해야 하는 시점에서 이번 세미나를 통해 클라우드 도입에 도움이 되는 정보를 얻어 갈 수 있기를 기대합니다.

여러분의 많은 관심과 참여 부탁드립니다. 감사합니다.

자세한 행사 일정 및 프로그램 안내



백지영
jyp@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널