전세계 갤럭시 사용자의 기기와 정보를 관리하기 위해 수백 페타바이트 및 16억행 이상에 달하는 대규모 데이터베이스에서 매일 수십 억 건의 트랜잭션을...2017년부터 Xpand로 마이그레이션한 후 현재 50대 이상의 노드에 성공적으로 운영

이미지:마리아DB, 편집:본지
이미지:마리아DB, 편집:본지

클라우드 데이터베이스 분야의 선도기업인 마리아DB(MariaDB)는 삼성전자 MX 사업부의 삼성 클라우드 서비스가 자사의 분산형 SQL 데이터베이스인 마리아DB Xpand를 이용해 매일 수십 억 건에 달하는 트랜잭션을 처리하고, 데이터베이스 비용을 50%까지 절감하는 성과를 달성했다고 20일 밝혔다.

삼성 클라우드 서비스는 전세계 갤럭시 사용자의 기기와 정보를 관리하기 위해 수백 페타바이트(Petabyte) 및 16억행 이상에 달하는 대규모 데이터베이스에서 매일 수십 억 건의 트랜잭션을 처리해야 한다. 

이전의 MySQL 샤딩(Sharding) 구현의 복잡성 문제를 해소하고, 데이터베이스의 가용성과 확장성을 높이기 위해 2017년부터 Xpand로 마이그레이션한 후 현재 50대 이상의 노드에 성공적으로 운영하고 있다.

샤딩은 데이터베이스 관리자가 전체 온라인 백업을 각 샤드마다 받아야 했기 때문에 데이터 일관성을 유지하기 어렵고, 코드를 계속 수정해야 하거나 온라인 백업을 위해 지나치게 많은 인프라를 사용해야 하는 등의 여러 단점들을 가지고 있다. 이러한 복잡성을 제거하는 것을 최우선 목표로 Xpand를 통한 분산형 SQL 접근방식을 적용했다.

분산형 SQL은 강력한 일관성과 데이터 무결성을 유지하면서도 이전에는 불가능했던 규모로 확장이 가능한 차세대 관계형 데이터베이스이다. 일단 구축되면, 수많은 데이터베이스 노드가 하나의 데이터베이스처럼 실행된다. 

규모에 따라 노드를 추가하면 확장이 가능하며, 일부가 실패하더라도 문제가 되지 않는다. 마리아DB의 분산형 SQL 데이터베이스인 Xpand는 초당 수백만개의 트랜잭션을 처리할 수 있도록 쉽게 확장할 수 있으며, 고가용성을 제공한다. 또한 관계형 데이터베이스의 모든 이점을 제공하는 동시에, 기존 데이터베이스 비용을 획기적으로 절감할 수 있다.

삼성클라우드 김전호 운영 리더는 "Xpand를 이용하여 더 이상 샤딩 코드를 관리할 필요 없이 서비스 로직에 집중하는 등 애플리케이션 아키텍처를 단순화할 수 있었고, 추가 인프라를 운영하지 않고도 고가용성 및 백업을 안정적으로 유지할 수 있었다"며, "Xpand의 뛰어난 효율성을 기반으로 3개 지역, 2개 서비스로 확장하면서도 AWS EC2의 크기를 i3.16xlarge에서 1/4 크기인 i3.4xlarge로 줄이고, 50%의 비용 절감이 가능했다"고 밝혔다.

Xpand 환경에서는 단일 커맨드로 새로운 서버 노드를 추가하면, 데이터가 자동으로 새로운 서버 노드로 이전되고, 추가된 노드는 Xpand에 더 많은 컴퓨팅 파워와 메모리, 스토리지를 공급하여 더 많은 트랜잭션을 더욱 빠르게 처리할 수 있다. 또한 Xpand는 복수의 DB 인스턴스에 트랜잭션을 기록하기 때문에 ACID(Atomicity, Consistency, Isolation, Durability) 요건을 충족할 수 있다.

Xpand는 표준 SQL과 MySQL 프로토콜을 지원하기 때문에 애플리케이션 코드를 변경할 필요 없이 MySQL에서 Xpand로 쉽게 마이그레이션할 수 있다. 또한 현재 워크로드의 데이터 분산 구조와 각 인스턴스의 상태 및 자원 활용률을 분석하고, 이를 자동으로 최적화함으로써 운영 자원을 절감할 수 있다.

만약 DB 인스턴스가 추가 혹은 삭제되거나 예기치 않은 장애 상황이 발생하면, 데이터를 자동으로 다른 인스턴스로 이전하여 각 인스턴스가 보관하는 데이터의 양과 쿼리 처리 상태를 균등하게 최적화할 수 있다.

이와 함께 Xpand는 단일 장애 지점(Single Point of Failure)으로 인한 서비스 중단을 방지하고 시스템 가용성을 높일 수 있도록 장애 허용성을 지원한다. Xpand 시스템은 서버 노드 하나에 장애가 생겨도 다른 Xpand 노드의 복제본(Replica)에 존재하는 데이터를 이용할 수 있으며, 리밸런서로 장애 지점에 있던 데이터의 복제본을 생성하여 자동으로 시스템을 복구한다.

다음 목표로, 삼성 클라우드 운영팀은 지금껏 성공적으로 사용해왔던 Xpand 경험을 바탕으로 Parallel Replication (병렬 복제) 기능을 시험하고 있다. 현재까지 삼성 클라우드 서비스는 ETL 프로세스를 Xpand  운영 클러스터에서 수행해왔지만 Parallel replication  (병렬 복제) 기능을 통해 부하 분산이 더욱 원활해 질 것으로 기대한다.

마리아DB Xpand를 비롯한 다른 마리아DB 제품에 대한 자세한 정보는 https://mariadb.com에서 확인할 수 있다. 마리아DB SkySQL 클라우드 데이터베이스를 통해 클라우드에서 Xpand를 무료로 시험 운용할 수 있다.

한편, 마리아DB는 트랜잭션, 분석, 하이브리드 적용 사례를 위해 몇 분 만에 구축이 가능하며, 실제 ACID 컴플라이언스와 모든 SQL을 포함한 핵심 엔터프라이즈 기능을 저하시키지 않으면서도 탁월한 운영 민첩성을 제공한다. 

현재, 도이치 뱅크(Deutsche Bank), DBS 뱅크(DBS Bank), 나스닥(Nasdaq), 레드햇(Red Hat), 서비스나우(ServiceNow), 버라이즌(Verizon) 및 월그린(Walgreens)과 같은 기업들이 적용하고 있는 마리아DB는 적은 비용으로 독점적 데이터베이스와 동일한 핵심 요구사항을 충족한다. 또한 가장 빠르게 성장하는 오픈소스 데이터베이스로 평가받고 있다. 

저작권자 © 인공지능신문 무단전재 및 재배포 금지