오라클 게 섰거라.. AWS 신규 6종 DB 서비스로 턱 밑까지 추격
아마존웹서비스(Amazon Web Services, 이하 AWS)가 아마존 오로라(Amazon Aurora)와 아마존 다이나모DB(Amazon DynamoDB)에 추가된 새로운 6가지 기능과 데이터베이스 2종을 발표했다.
새로이 선보이는 아마존 오로라 글로벌 데이터베이스(Amazon Aurora Global Database)는 고객이 단일 리전에서 데이터베이스를 업데이트할 수 있는 기능과 향상된 가용성과 재해복구를 위해 다른 AWS 리전(Region)으로 자동 복제할 수 있는 기능을 추가했다. 아마존 다이나모DB의 새로운 온-디맨드 기능은 용량을 계획할 필요 없는 읽기·쓰기 용량 프로비저닝을 제공하며, 고객은 사용한 읽기·쓰기 요청에 대한 비용만 지불할 수 있다. 다이나모DB 트랜잭션(DynamoDB Transactions) 출시로 개발자들은 다양한 아이템 업데이트에 대한 거래 보장을 구축해 확장성이 뛰어난 중요 애플리케이션 개발 시 충돌 및 오류를 쉽게 방지할 수 있게 됐다. AWS는 새로운 용도의 데이터베이스 서비스 2종도 함께 발표했다. 이는 사물인터넷(IoT)과 운영 애플리케이션을 위한 빠르고 확장 가능한 완전 관리형 시계열 데이터베이스인 아마존 타임스트림(Amazon Timesteam)과, 확장성이 뛰어나며 변경 불가한 암호화로 검증할 수 있는 아마존 퀀텀 렛저 데이터베이스(Amazon Quantum Ledger Database, QLDB) 원장이다.
AWS 데이터베이스 분석 및 머신 러닝 부사장 라주 굴라바니(Raju Gulabani)는 “수만 명의 고객들이 AWS의 클라우드용 데이터베이스 서비스를 사용한다. 이는 제한적이며 가격 부담이 과하고 투박하고 낡은 데이터베이스 제품과 달리 우수한 성능과 확장성, 비용 효율적이며 다른 AWS와 통합이 쉽다”며, “이 솔루션은 AWS 고객이 더욱 쉽게 전 세계 클라우드 데이터베이스를 확장하고 운영할 수 있도록 지원한다. 재해 발생 시 인터넷 규모로 워크로드를 즉시 확장하고 애플리케이션 데이터 일관성을 유지해 중요한 워크로드의 가용성을 완벽히 보장하는 작업이나 시계열 데이터 또는 원장 기록 시스템 등 새로운 사용 사례를 위한 새로운 애플리케이션을 구축하는 작업 등 무엇이든 고객이 가장 중요한 워크로드를 지원하는데 필요한 기능과 용도에 맞는 데이터베이스를 낮은 비용과 더욱 우수한 성능과 복잡성을 낮춰 사용할 수 있는 역량을 제공한다”고 말했다.
아마존 오로라 MySQL, 이제 글로벌 데이터베이스 지원
아마존 오로라는 전 세계 수만 명의 고객이 사용하는 MySQL 및 PostgreSQL와 호환되는 클라우드용 관계형 데이터베이스이다. 아마존 오로라 글로벌 데이터베이스는 고객이 단일 AWS 리전에서 데이터베이스를 업데이트하고, 1초 내에 글로벌 AWS 리전으로 자동 복제할 수 있는 기능을 제공한다. 고객은 이를 활용해 글로벌로 분산된 애플리케이션으로 로컬 리전의 데이터에 빠르게 액세스 할 수 있도록 자체 데이터베이스의 읽기 전용 복사본을 유지하거나, 재해 발생 시 자체 데이터베이스를 신속히 복구할 수 있도록 원거리 지역을 백업으로 사용할 수 있다.
아마존 다이나모DB, 온-디맨드 서비스 및 트랜잭션 제공
아마존 다이나모DB는 어느 규모에서든 안정적인 성능을 제공하는 완전 관리형 키값 데이터베이스 서비스이다. 수십만 여 AWS 고객이 아마존 다이나모DB를 사용해 전 세계에서 가장 큰 애플리케이션 중 일부에 한 자리 수 밀리 초 급의 일관된 지연시간(latency)을 제공한다. 이들 고객 중 다수는 불규칙적이며 예측 불가능한 데이터 액세스 요청을 받거나, 사용 패턴을 알 수 없는 새로운 애플리케이션을 가진 대규모 애플리케이션을 실행하는 이들이다. 이들 고객은 과대 프로비저닝된 용량을 선택해 사용하지 않을 리소스에 대한 비용까지 부담할 지, 축소 프로비저닝된 용량을 택해 성능 문제 발생 및 사용자 경험 저하라는 위험을 안고 갈 지를 놓고 종종 딜레마를 겪곤 한다.
예측이 불가하고 사용 빈도수가 낮거나 갑자기 사용량이 증가해 용량 계획이 어려운 애플리케이션을 위해 아마존 다이나모DB 온-디맨드(Amazon DynamoDB On-Demand)는 자동으로 쓰기·읽기 용량을 관리해 용량 계획의 필요성을 제거하며, 고객은 실제 사용한 요청 당 비용만 지불하면 된다. 아마존 다이나모DB 온디맨드는 고객이 아마존 다이나모DB에 기대하는 것과 동일한 한 자리 수 밀리 초 급의 지연 시간과 높은 가용성, 보안을 제공한다.
아마존 다이나모DB는 전 세계적으로 운영되는 가장 큰 규모의 애플리케이션 중 일부를 지원한다. 이러한 애플리케이션을 구축하는 개발자들은 경우에 따라 거래용 지원을 필요로 하며, 복잡하고 오류에 취약한, 시간 소모가 많은 오류 처리를 위한 사용자 정의 코드를 써야 할 때가 있다. 아마존 다이나모DB 트랜잭션(Amazon DynamoDB Transactions)은 개발자들이 충돌과 오류를 관리하거나 확장 및 성능을 저해하지 않기 위해 복잡한 클라이언트측 로직(client-side logic)을 쓸 필요없이 다양한 아이템 업데이트를 위해 ACID라 불리는 원자성(atomicy), 일관성(consistency), 고립성(isolation), 지속성(durability)을 보장하는 거래를 자체 다이나모DB 애플리케이션에 구축할 수 있는 역량을 제공한다.
아마존 이커머스 파운데이션(eCommerce Foundation) 부사장 데이브 트레드웰(Dave Treadwell)은 “아마존 비즈니스에 있어 중요한 이커머스 플랫폼은 워크로드 양에 관계없이, 특히 쇼핑 이벤트로 접속자수가 몰릴 때에도 변화없이 낮은 대기시간을 제공하는 아마존 다이나모DB에 상당부분 의존한다”며 “우리는 숙련된 다이나모DB 사용자지만, 향후 처리량 요구사항을 예측하기란 아직도 어렵고, 새로운 애플리케이션과 비정기적인 워크로드에 대한 예측은 특히 어렵다. 기존에는 안전을 우선에 두고 과다 프로비저닝해 용량을 확보했다. 다이나모DB 온디맨드를 초기에 사용하고 테스트하니 용량에 관한 결정을 내려야 하는 번거로움이 해소됐다. 다이나모DB 온디맨드는 비관계형 데이터베이스에 아마존 S3가 수행하는 오브젝트 스토리지의 기능과 동일한 기능을 이행한다. 우리는 테이블을 생성해 요청을 시작하면 된다. 프로비저닝이나 용량 계획을 할 필요가 없으며, 애플리케이션이 수행한 읽기·쓰기 요청과 스토리지에 대한 비용만 지불하면 된다”고 말했다.
아마존 타임스트림, 빠르고 확장 가능한 완전 관리형 시계열 데이터베이스 제공
개발자는 시간이 지남에 따라 변화하는 엄청난 양의 데이터(시계열 데이터를 뜻함)로부터 통찰을 수집하고 통합하며 도출하기 위한 IoT 및 운영 애플리케이션을 구축한다. 대표적인 예로는 시간의 흐름에 따른 인프라 메트릭 변경을 측정하는 데브옵스(DevOps) 데이터와 시간의 흐름에 따라 센서 판독 변경을 측정하는 IoT 센서 데이터, 시간의 흐름에 따라 사용자가 웹사이트를 탐색하는 양상을 포착하는 클릭스트림(Clickstream) 데이터 등이 있다.
이러한 유형의 시계열 데이터는 매우 많은 양의 다양한 소스에서 생성되며, 비용 효율적이며 확장성이 뛰어난 방식으로 거의 실시간에 가깝게 수집돼야 하며, 고객은 이 모든 데이터를 효율적으로 저장하고 분석할 방법을 필요로 한다. 현재 고객은 기존 관계형 데이터베이스나 기존 상용 시계열 데이터베이스를 사용해 이 작업을 수행한다. 애초에 클라우드에 필요한 규모에 맞는 시계열 데이터베이스로 만들어 진 것이 아니므로 두 가지 모두 매력적인 옵션이라 보기 어렵다.
관계형 데이터베이스는 사전 정의가 필요한 엄격한 스키마를 가지고 있으며, 새로운 애플리케이션 속성을 추적해야 할 경우 유연성이 떨어진다. 여러 테이블과 인덱스를 생성해야 하는데, 이는 시간의 흐름에 따라 데이터가 늘어나면서 복잡하고 비효율적인 쿼리를 발생시킨다. 또한, 평활화(smoothing), 근사(approximation), 보간(interpolation)과 같이 필요한 시계열 분석 기능도 부족하다. 기존 오픈 소스나 상용 시계열 데이터베이스는 확장하기가 어렵고 데이터 보존 정책을 지원하지 않으며, 개발자가 별도 처리, 스트리밍·배칭 및 시각화 소프트웨어로 통합해야 하는 경우가 많다.
이러한 문제를 해결하기 위해 AWS는 시계열 데이터 수집과 저장, 처리를 위한 완전 관리형 시계열 데이터베이스 서비스인 아마존 타임스트림을 출시했다. 아마존 타임스트림은 관계형 데이터베이스에 드는 비용의 10분의 1만으로 일일 수 조 건의 이벤트를 처리하며, 범용 관계형 데이터베이스 대비 최대 1천 배 빠른 쿼리 성능을 제공한다. 아마존 타임스트림을 사용하면 IoT와 운영 애플리케이션에서 나온 시계열 데이터 분석 시 한 자리 수 밀리초 급 응답을 얻을 수 있다. 아마존 타임스트림에 포함된 분석 기능은 평활화(smoothing)와 근사(approximation), 보간(interpolation)을 제공해 고객이 실시간 데이터에서 추세나 패턴을 식별할 수 있도록 지원한다. 또한, 서버리스형으로, 자동 확장 및 축소되어 용량과 성능을 조정한다. 고객은 사용한 만큼만 비용을 지불하면 된다.
아마존 QLDB: 변경 불가하며 암호화 방식으로 검증 가능한 고성능 원장 데이터베이스 서비스
아마존 QLDB는 여러 당사자들이 신뢰할 수 있는 중앙 권한으로 거래하는 환경에서 고객이 기록 시스템으로 사용할 수 있는 애플리케이션을 구축할 수 있는 투명하고 변경 불가하며 암호화로 확인 가능한 원장을 제공하는 새로운 데이터베이스 클래스다. 아마존 QLDB는 관계형 데이터베이스에 복잡한 감사 기능을 구축하거나 블록체인 프레임워크의 원장 기능을 사용할 필요성을 제거한다. 아마존 QLDB는 저널(Journal)로 알려진 변경 불가한 거래 로그를 사용해 모든 애플리케이션 데이터 변경 사항을 추적하며, 시간의 흐름에 따른 완전하고 검증 가능한 변경 기록을 유지한다. 모든 거래는 ACID를 준수해야 저널에 로그될 수 있으며, 여기서는 삭제나 수정이 불가하다. 모든 변경 사항은 고객이 익숙한 SQL 쿼리를 사용해 분석할 수 있는 기록 내에서 암호화 방식으로 연결되며 검증할 수 있다. 아마존 QLDB는 서버리스형으로, 고객은 용량을 프로비저닝 하거나 읽기·쓰기 제한을 구성할 필요가 없다. 원장을 생성하고 테이블을 정의하기만 하면 아마존 QLDB가 자동으로 확장해 애플리케이션 요구사항을 지원하며, 고객은 사용한 읽기, 쓰기 및 스토리지 비용만 지불하면 된다. 일반적인 블록체인 프레임워크 내 여느 원장과 달리, 아마존 QLDB는 분산 합의를 필요로 하지 않아 동시에 2~3배 많은 거래를 실행할 수 있다.
글 / IT동아 강일용(zero@itdonga.com)