오라클 MySQL 히트웨이브 '성능은 올리고, 가격은 낮추고'···"실시간처리·분석·머신러닝을 하나로"


[테크수다 기자 도안구 eyeball@techsuda.com] "실시간 트랜잭션과 분석, 그리고 머신러닝을 하나로 통합했습니다. 그 결과 다양한 업무를 지원하면서 동시에 성능은 경쟁사에 비해 두배 이상 빨라졌고 가격은 반으로 훨씬 더 낮습니다. 이 기능은 오라클 클라우드 인프라스트럭처(OCI)를 비롯해 정부 공공 섹터 클라우드 리전과 OCI에 적용된 하드웨어와 소프트웨어, 서비스를 동일하게 고객 내부에 구축하려는 데드케이트 데이터센터에서 사용할 수 있습니다."


니푼 아가르왈(Nipun Agarwal) 오라클 연구와 고급 개발 부문 수석부사장(Senior Vice President, Research & Advanced Development, Oracle)은 오라클 MySQL 히트웨이브(Oracle MySQL HeatWave)에 머신러닝 기능을 추가한 내용을 설명하면서 이렇게 밝혔다.


퓨전 클라우드와 피플소프트, 엔터프라이즈 용 SaaS와 기업 내 대규모 오라클 DB를 사용하는 영역과 전자상거래를 비롯한 인터넷과 모바일 업무 관련한 모든 고객 요구 사항을 적극적으로 수용하면서 동시에 OCI 관련 고객 확보를 위한 핵심적인 차별화 포인트로 이를 적극 강조하고 있다.


오라클은 OCI에서 MySQL 데이터베이스 서비스를 지원하는 인메모리 쿼리 가속기인 오라클 MySQL 히트웨이브(Oracle MySQL HeatWave)에 데이터베이스 내 머신러닝(ML) 기능을 추가했다.


오라클은 기존 트랜잭션 프로세싱과 분석에 이번에 출시한 머신러닝 기능을 추가하며 MySQL 클라우드 데이터베이스 서비스 중 해당 기능을 제공하는 유일한 업체가 되었다.


[embed]https://youtu.be/cTUCzsYAi94[/embed]


MySQL은 OLTP에 최적화되었지만 분석 처리(OLAP)를 위해 설계되지 않았다. 따라서 분석을 효율적으로 실행해야 하는 조직은 데이터를 다른 데이터베이스로 이동해야  했다. 데이터를 다른 데이터베이스로 이동하는 접근 방식은 여러 가지 방법으로 고객에게 복잡성과 추가 비용을 초래했다.


애플리케이션은 MySQL에서 관련 데이터를 추출하기 위한 복잡한 로직을 정의해야 한다. 또 추출된 데이터는 네트워크를 통해 다른 데이터베이스로 안전하게 전송되어야 하며, 네트워크 대역폭을 소모하고, 대기 시간이 걸린다.


다른 데이터베이스의 데이터를 MySQL 데이터베이스와 수동으로 동기화해야 하므로 분석이 수행되는 데이터가 오래될 수 있고 OLTP와 분석 애플리케이션 실행을 위한 여러 데이터베이스 관리에 대한 추가 비용 과 오버헤드가 들어간다. AWS의 레드시프트나 마이크로소프트 Azure 스냅스, 구글의 빅쿼리, 스노우플레이크 같은 오라클의 경쟁사들은 그 틈을 노리고 다양한 분석 서비스를 출시하고 고객들을 확보해 나갔다.


오라클은 OLTP 엔진에 OLAP 그리고 머신러닝 기능을 제공하면서 MySQL 생태계를 더욱 확장하고 주도하겠다는 뜻을 분명히 했다. 이런 엔진은 오픈소스로 제공되지 않으며 관련 서비스는 클라우드 서비스에만 제공된다.



오라클은 이번 MySQL 히트웨이브에 대해  최신 알고리즘을 구현하는 확장성과 성능을 위해 설계된, 인메모리 하이브리드 분석 엔진이라고 강조하고, OCI 개체 스토리지에 저장될 데이터 관련한 오류 복구, 유지보수, 시스템 재시작 등 스케일 아웃 데이터 관리를 강화했고 프로비저닝, 데이터 로드, 쿼리 처리와 오류 처리를 포함한 데이터 베이스 수명주기 작업을 자동화한 머신러닝 관련 'MySQL 오토파일럿', 광범위한 머시러닝 전문 지식 없이도 모델을 교육하고 추론과 설명을 생성한다고 강조했다.


설명 가능한 AI 모델


즉, MySQL 히트웨이브 ML(MySQL HeatWave ML)은 머신러닝의 수명 주기를 완전 자동화하고 학습된 모델 모두를 MySQL 내에 저장해, 외부의 머신러닝 도구나 서비스로 데이터와 모델을 이동하지 않아도 된다. ETL(추출, 변환 및 적재) 절차가 사라지며 애플리케이션 복잡성과 비용이 감소하고 머신러닝 모델과 데이터의 보안성을 개선했다.


니푼 아가르왈(Nipun Agarwal) 수석부사장은 "이번 기능들은 철저히 클라우드 환경을 염두에 두고 설계되었습니다"라면서 "히트웨이브 ML 기능은 전 세계 37개의 모든 오라클 클라우드 인프라스트럭처(OCI) 리전에서 MySQL 히트웨이브 데이터베이스 클라우드 서비스에 포함돼 제공됩니다"라고 밝혔다.


MySQL 애플리케이션에 머신러닝 기능을 추가하는 일은 아직까지도 많은 개발자들이 오랜 시간을 소모하는 고난이도의 작업이다. 이를 위해 먼저 데이터베이스에서 자료를 추출하여 다른 시스템에 옮긴 후 머신러닝 모델을 만들고 구축하는 과정을 거쳐야 한다. 이러한 접근 방식으로는 애플리케이션 데이터가 머신러닝에 적용되는 과정에서 다수의 데이터 사일로 현상이 나타나고 데이터 이동으로 인해 지연 시간이 발생한다.


또 급증하는 데이터로 인해 데이터베이스의 보안 취약점이 증가하고 개발자가 프로그램을 작성하는 환경이 다양해져 복잡성이 증가한다. 또한 기존 서비스를 고려하여 머신러닝 모델을 학습시키는 과정에는 개발자의 전문적인 지식이 필요하다. 이를 만족하지 못할 경우 최적화된 모델을 보장할 수 없기에 예측의 정확성은 감소한다.


마지막으로 대부분의 기존 머신러닝 솔루션은 개발자가 구축한 모델이 어떻게 그러한 결과를 예측하게 되었는 지에 대한 이유를 설명해주지 않는다.


이번에 새롭게 소개된 MySQL 히트웨이브 ML은 머신러닝 기능이 MySQL 데이터베이스 내에 기본으로 통합되어 데이터를 다른 서비스로 옮기는 ETL 과정이 필요 없기 때문에 이러한 문제가 해결된다. 완전 자동화된 히트웨이브 ML의 모델 학습 프로세스는 주어진 데이터 세트에서 지정된 작업에 최적화된 특징(feature)과 초매개변수(hyper-parameter), 알고리즘을 갖춘 모델을 생성한다. 또한, 히트웨이브 ML에서 생성한 모든 모델과 예측 결과에는 설명도 함께 제공된다.


머신러닝의 경우 비용이 많이 드는 부분은 모델을 훈련할 때다. 해당 전문가들의 전유물 처럼 되었던 이 방식을 자동화하고 빠르게 할 수 있다. 또 AI 모델에 어떻게 만들어졌는지 설명이 들어가 있다.


특히 최근 인공지능 분야에서는 XAI(Explainabel AI)라고 해서 AI 모델이 특정 결정을 내리면 그 원인과 작동 원리를 사람들이 쉽게 이해할 수 있도록 사용하는 도구와 기술세트다. 일례로 초기 바둑 분야에서 적용된 인공지능의 경우 왜 그 수를 두었는지 설명을 하지 못했다. 최근에는 여러 지점에 대해 확율적으로 집 계산을 해서 가장 높은 곳들을 보여주면서 조금이나마 이해할 수 있도록 나아가고 있다.


엔터프라이즈 고객들은 시스템이 왜 이런 행동을 했는지 알기를 원하고 있다. 머신러닝이 좀더 광범위한 신뢰를 얻고 확산되기 위해서는 설명 가능성 지원은 필수적이다.



오라클 히트웨이브 ML은 아마존 레드시프트 ML 대비 평균 1%의 비용으로 25배 빠른 학습이 가능하다. 또한, 더 큰 규모의 히트웨이브 클러스터에서 학습할 경우, 레드시프트 ML 대비 성능 향상폭은 더욱 증가한다. MySQL 히트웨이브 이용자들은 기존에 많은 시간이 소요되던 훈련을 빠른 시간 안에 효율적으로 완료할 수 있기에 주기적인 모델 재학습을 통해 잦은 데이터 변경 사항도 반영할 수 있어 모델을 최신 상태로 유지할 뿐 아니라 예측의 정확성 또한 향상시킨다.


MySQL Autopilot


오라클이 강조하는 또 다른 기능은 MySQL 오토파일럿(Autopilot)이다. MySQL 오토파일럿은 프로비저닝, 데이터 로드, 쿼리 실행과 장애 처리를 비롯해 대규모로 높은 쿼리 성능을 달성하는 데 있어 가장 중요하고 종종 까다로운 많은 측면을 자동화한다. 고급 기술을 사용해 데이터를 샘플링하고, 데이터와 쿼리에 대한 통계를 수집하며, 메모리 사용량, 네트워크 로드와 실행 시간을 모델링하는 머신 러닝 모델을 구축한다.

이러한 머신 러닝 모델은 MySQL 오토파일럿에 의해 핵심 기능을 실행하는 데 사용된다. MySQL 오토파일럿은 더 많은 쿼리가 실행될수록 히트웨이브 쿼리 옵티마이저를 더욱 지능화해 시간이 지남에 따라 시스템 성능을 지속적으로 향상시킨다.



니푼 아가르왈(Nipun Agarwal) 오라클 연구와 고급 개발 부문 수석부사장은 "아마존 오로라(Amazon Aurora), 아마존 레드시프트(Amazon Redshift), 스노우플레이크(Snowflake) 또는 기타 MySQL 기반 데이터베이스 서비스에서는 사용할 수 없는 기능"이라고 전하고 "MySQL 히트웨이브 고객은 이 기능을 추가 요금 없이 이용할 수 있다"고 전했다.


기타 클라우드 데이터베이스 서비스 대비 히트웨이브 ML 기능의 장점은 완전 자동화된 모델 교육(Fully Automated Model Training), 모델 및 추론 설명(Model and Inference Explanations), 초매개변수 조정(Hyper-Parameter Tuning), 알고리즘 선택(Algorithm Selection), 지능형 데이터 샘플링(Intelligent Data Sampling), 특징 선택(Feature Selection) 등이다.


오라클은 머신러닝 기능 외에도 MySQL 히트웨이브 서비스를 위한 다양한 혁신 기능을 공개했다. 실시간 탄력성(real-time elasticity)은 히트웨이브 고객이 노드 숫자에 상관없이 클러스터의 크기를 확대, 축소할 수 있도록 한다.


이 과정에서 시스템 운영이나 쓰기 작업이 중단되지 않으며 클러스터의 리밸런싱(rebalancing)도 불필요하다. 또한 데이터 압축(data compression) 기능은 고객의 노드당 데이터 처리량을 2배로 늘리고 비용은 50% 가까이 줄이면서도 가격 대비 성능을 동일하게 유지한다. 비용 절감을 위해 고객이 히트웨이브를 잠시 중지할 수 있는 일시 정지 및 재가동(pause-and-resume) 기능도 새롭게 추가되었다. 재가동 시에는 MySQL 오토파일럿에 필요한 데이터와 통계가 히트웨이브에 자동으로 로드된다.


칼 올롭슨(Carl Olofson) IDC 데이터 관리 소프트웨어 연구 부사장은 "이제 오라클은 히트웨이브에 OLTP와 OLAP를 통합했던 오리지널 버전의 혁신을 MySQL 히트웨이브 ML로 넘어서게 되었다. 오라클은 모든 머신러닝 프로세싱 및 모델을 데이터베이스 내에 탑재함으로써 고객이 머신러닝 데이터베이스를 코어 데이터베이스와 별도로 관리해야 하는 수고를 덜어주었다. 동시에 번거로운 ETL이 사라지며 더욱 빠른 속도와 정확도, 비용 효율성까지 한꺼번에 누릴 수 있게 되었다"고 덧붙였다.


한편, 앞서 밝힌것처럼 이번 기능들은 모두 OCI에서만 제공된다. 설계 자체도 클라우드 환경을 염두에 두고 진행했다. 이에 따라 아마존웹서비스(AWS), 마이크로소프트 애저(Azure), 구글 클라우드(GCP)에도 언제든지 올라갈 수 있다.


이와 관련해 니푼 아가르왈(Nipun Agarwal) 오라클 연구와 고급 개발 부문 수석부사장은 "정확한 시점을 지금 공개할 수는 없다"고 전했다. [테크수다 Techsuda]