HeatWave AutoML을 활용하는 인데이터베이스 머신러닝

Michael Chen | Content Strategist | 2024년 10월 15일

인데이터베이스 머신러닝(in-database machine learning)은 머신러닝 알고리즘과 기술을 데이터베이스 관리 시스템에 통합하는 것을 의미합니다. 데이터 세트 선택, 알고리즘 학습, 모델 평가 등의 모든 프로세스가 데이터베이스 내부에서 이뤄집니다. 기업은 인데이터베이스 머신러닝을 통해 시스템 간 데이터 이동 없이 데이터베이스에서 복잡한 분석 작업을 직접 수행할 수 있습니다. 이는 데이터 가져오기/내보내기 과정의 지연, 무결성, 보안 우려를 줄여줍니다.

고객 이탈률이 급증한 가상의 기업을 예로 들어 보겠습니다. 머신러닝(ML) 알고리즘은 경쟁사로 이탈할 가능성이 있는 고객을 예측하고, 개인화된 마케팅 캠페인을 비롯해 해당 고객들의 재참여 유도를 위한 방안을 제시할 수 있습니다. 자주 판매되는 품목의 경우 과잉 재고를 보유 중일 있을 수도 있습니다. 특별 프로모션을 통해 해당 재고를 소진하고 고객 만족도를 높일 수 있습니다. 데이터베이스 내에서 머신러닝을 바로 사용할 수 있게 된다면 최신 데이터를 바탕으로 그러한 제안을 훨씬 빠르게 생성할 수 있습니다. 기업의 운영 방향도 빠르게 전환할 수 있습니다. 외부 ML 엔진으로 데이터를 이동할 필요가 없으므로 고객 정보 노출 우려도 사라집니다.

인데이터베이스 머신러닝이란 무엇인가요?

인데이터베이스 머신러닝은 머신러닝 알고리즘을 데이터베이스 내부로 직접 가져옴으로써 서로 다른 시스템 간 데이터 이동을 없애는 기술입니다. 전통적인 머신러닝은 데이터를 데이터베이스로부터 추출해 별도의 ML 분석 플랫폼/도구에서 처리합니다. 이러한 방식은 시간과 리소스를 많이 소모합니다. 특히 대규모 데이터 세트를 처리할 경우 더욱 그렇습니다.

반면 인데이터베이스 머신러닝에서는 데이터는 저장된 곳에 그대로 머무르고 머신러닝 알고리즘이 데이터베이스 환경에서 네이티브로 실행됩니다. ML 알고리즘을 데이터베이스에 내장해 얻을 수 있는 핵심적인 이점은 더 빠르고 효율적인 분석입니다.

간단히 말해, 데이터를 이동하면 모든 작업이 느려집니다.

인데이터베이스 머신러닝은 AI 모델 훈련과 같이 대규모 데이터세트가 필요한 경우에 특히 유용합니다. 인데이터베이스 머신러닝은 플랫폼이 네이티브로 제공하는 코딩, 모델 구축, 테스트 도구들을 활용합니다. 따라서 단 몇 번의 클릭만으로도 데이터베이스의 모든 테이블을 데이터 집약적인 프로젝트에 활용할 수 있습니다.

또한 인데이터베이스 머신러닝은 훈련 및 배포 전반에 걸친 인프라 일관성을 제공합니다. 즉, IT 팀은 모델 사용을 위한 다음 단계를 지원하기 위해 새로운 운영 인프라를 직접 생성하지 않아도 됩니다. 그와 관련된 유지 관리 및 QA 작업 또한 필요 없습니다.

핵심 요점

  • 기업은 인데이터베이스 머신러닝을 통해 데이터베이스 환경 내에서 머신러닝 모델을 코딩, 구축, 테스트, 배포할 수 있습니다.
  • 전 과정이 데이터베이스 내에서 진행되므로 머신러닝 프로세스의 효율성이 크게 향상됩니다.
  • 인데이터베이스 머신러닝으로 구축한 모델은 데이터베이스 환경이 기본 제공하는 기능들을 사용하므로 별도의 스탠드얼론 도구로 만든 모델보다 덜 복잡한 경우가 많습니다.

인데이터베이스 머신러닝 알아보기

인데이터베이스 머신러닝은 직원들에게 이미 익숙한 데이터베이스 시스템 및 도구를 사용하는 끊김없는 경험입니다. 분석가들 또한 추가적인 소프트웨어 또는 하드웨어 투자 없이도 기존의 데이터베이스 및 익숙한 쿼리 언어로 고급 분석을 수행할 수 있습니다. 데이터를 데이터베이스 내에서 직접 분석함으로써 최신 데이터에서 가치 있는 인사이트를 도출하고, 더 시의적절한 데이터 기반 의사결정을 내릴 수 있습니다.

인데이터베이스 머신러닝을 사용하지 않을 경우 ML 분석을 도입하고자 하는 기업은 추출/변환/로드(ETL) 또는 추출/로드/변환(ELT) 작업을 수행해 데이터를 외부 시스템으로 옮겨야만 합니다. 이러한 전통적인 모델을 사용할 경우 데이터 과학자는 가져오기/내보내기 작업을 수작업으로 수행하거나 API를 통해 여러 시스템을 통합합니다. 두 경우 모두 머신러닝을 위한 데이터 세트를 준비하기 위해서는 여러 가지 추가적인 단계를 거쳐야 하고, 이러한 추가적인 단계들은 다음과 같은 잠재적인 문제를 발생시킬 수 있습니다.

  • 중복 데이터 오류
  • 데이터 손상 오류
  • 보안 결함
  • 과도한 리소스/컴퓨팅 사용량 및 관련 비용
  • 통합 호환성 문제
  • 형식 호환성 문제

반면 인데이터베이스 머신러닝은 내보내기/가져오기 단계를 건너뛰므로, 호환성을 보장하기 위해 데이터를 재구축하거나 다시 포맷할 필요 없이 데이터가 저장된 곳과 동일한 환경에서 ML 작업을 진행할 수 있습니다. 데이터가 데이터베이스 내에 그대로 머무르므로 데이터 이동을 처리하기 위한 시스템을 유지 관리할 필요도 없어집니다.

인데이터베이스 머신러닝의 중요성

다양한 데이터 소스의 대량의 데이터를 사용하는 머신러닝 작업, 특히 AI 모델 훈련에는 여러 장애물이 존재합니다. 그 예시는 다음과 같습니다.

  • 모델 학습 제약. 상시 ETL/ELT 처리를 하기엔 데이터 세트가 너무 큰 경우가 많으므로 데이터 팀은 모델 학습에 모든 데이터가 아닌 개중 일부 하위 집합만 사용하는 경우가 일반적입니다. 이는 모델이 실제 운영 환경에 배포된 후 마주칠 수 있는 시나리오의 전체 스펙트럼을 대표하지 않는 부분적 데이터만을 학습할 수 있다는 제약을 낳습니다.
  • 데이터 소스의 복잡성. 공장의 실시간 IoT 센서, 오랜 이력과 수많은 필드로 구성된 고객 데이터베이스, 대규모 보안 로그 파일 등 데이터 소스는 매우 다양할 수 있습니다. 통합되고 단순화된 단일 데이터 형식을 사용하지 않을 경우 비즈니스 인텔리전스 시스템 등의 애플리케이션들에서 문제가 발생합니다. 머신러닝처럼 더 복잡한 작업에서는 말할 것도 없습니다.

현 시점에서 데이터 팀에 인데이터베이스 머신러닝이 중요한 이유는 데이터의 규모와 다양성이 빠르게, 지속적으로 성장하고 있기 때문입니다. 간단히 말해, 데이터 집약적 작업은 앞으로 더 쉬워지기보다는 오히려 어려워질 것이므로 워크플로에 인데이터베이스 머신러닝을 통합하는 것이 그 어느 때보다도 중요해진 상황입니다.

인데이터베이스 머신러닝의 작동 방식은 무엇인가요?

인데이터베이스 머신러닝의 기본적인 작동 방식은 표준적인 머신러닝과 유사합니다. 주된 차이점은 시스템 간 데이터 이동에 필요한 모든 단계, 즉 추출부터 변환/정제에 이르든 단계들이 제거된다는 점입니다. 다만 데이터베이스 환경 내에서 작업한다는 특성에 따른 한계와 요구사항이 일부 존재합니다.

인데이터베이스 머신러닝의 대략적인 작동 방식은 다음과 같습니다.

1. 분석 데이터베이스에 데이터를 로드하고 전처리합니다

모든 과정은 데이터베이스로의 초기 로드부터 시작됩니다. 다만 인데이터베이스 머신러닝을 위해서는 한 가지 전제가 있습니다. 데이터베이스가 해당 기능을 반드시 지원해야 합니다. 구체적으로는 코드를 데이터 가까이에 두어 인데이터베이스 머신러닝을 통한 효율 향상을 온전히 구현할 수 있어야 합니다.

2. 머신러닝 알고리즘을 최적화합니다

머신러닝 알고리즘이 데이터베이스 내부에 있든, 서드파티 플랫폼에 있든 필수적인 최적화 과정을 거쳐야 합니다. 즉, 모델 훈련, 결과 평가, 필요한 경우 미세 조정을 수행해야 합니다. 인데이터베이스 머신러닝의 가장 큰 차이점은 이러한 단계가 데이터가 있는 곳과 분리된 별도의 시스템이 아닌 데이터베이스 내부에서 수행된다는 점입니다. 모델 최적화 작업을 수행하기 위해 여러 시스템과 데이터 저장소 간에 데이터를 이동할 필요가 없습니다.

3. 데이터 과학자가 특수 API로 머신러닝 훈련을 수행합니다

기존 방식의 머신러닝은 모델 학습, 결과 평가, 개별 알고리즘/파라미터 조정을 비롯한 정교화 작업 등을 위해 데이터를 데이터베이스에서 데이터 레이크 등의 다른 저장소로 반드시 옮겨야 합니다. 모든 단계마다 과도한 컴퓨팅 리소스를 소모하고 인프라에 부담이 가해집니다. 데이터베이스 네이티브 API를 사용하면 개발, 테스트, 운영 환경으로 모델이 이동하는 동안에도 이러한 작업을 처리할 수 있습니다.

4. 예측 인사이트를 운영 시스템에서 시스템 중단 없이 직접 실행할 수 있습니다

인데이터베이스 머신러닝을 사용하면 테이블의 버전을 지정하는 것만으로도 개발, 테스트, 운영 환경의 다른 데이터베이스로 ML 모델의 수정 내역을 전파할 수 있습니다. 세분화 내역이 즉시 통합되므로 추가적인 단계나 컴퓨팅 자원 과부하로 인한 시스템 중단 없이 기능을 실행할 수 있습니다.

5. 더 정확한 결과물이 실시간에 가깝게 반환됩니다

데이터베이스 내에서 직접 ML 모델을 사용하여 인사이트를 생성하면 ETL/ELT 지연 시간 및 데이터 무결성과 관련된 추가적인 단계나 문제점을 걱정할 필요 없이 실시간에 가까운 속도로 인사이트를 얻을 수 있습니다.

다른 방식 대비 인데이터베이스 머신러닝의 이점

인데이터베이스 머신러닝은 자연스럽게 기존 프로세스를 단축하고 하드웨어 수요를 줄임으로써 여러 이점을 창출합니다. 일반적인 이점 및 고유한 한계점은 다음과 같습니다.

더 빠른 분석 처리

시스템 간 데이터 이동은 일단 번거롭습니다. 나아가 최악의 경우 오류, 지연, 보안 위험을 유발하고 운영을 늦춥니다. 분석 작업을 데이터베이스 내부에서 수행하면 내보내기, 변환, 로딩에 이르는 ELT/ETL 단계들로 인한 부담이 사라지므로 전체 분석 프로세스가 더욱 신속하게 진행됩니다.

소유 비용 절감

대규모 데이터 세트를 이동할 필요가 없어지면 스토리지, 전문 인력 비용을 절약하고 지연 시간도 줄일 수 있습니다. 결국 시간은 돈입니다. 또한 효율성 개선은 하드웨어 및 소프트웨어 문제 해결에 드는 시간을 줄여 2차적인 비용 절감으로 이어집니다.

확장성 향상

확장성은 리소스에 좌우되는 경우가 많습니다. 돈, 인력, CPU 요구량이 많은 프로세스일수록 필요에 따라 확장하기가 더 어렵습니다. 데이터 이동 프로세스를 없애면 데이터 내보내기, 형식 변환 등의 단계에 필요한 추가적인 컴퓨팅 파워 요구량을 제거할 수 있습니다. 데이터를 데이터베이스에 그대로 유지하므로 호환성 문제에 대응할 필요가 줄어들고 연산 효율이 높아지며, 결과적으로 수요 충족을 위한 추가적인 유연성과 확장성을 확보할 수 있습니다.

성능 및 안정성 향상

ELT/ETL 프로세스는 네트워크 내에 중복 데이터가 쌓이는 주요 원인입니다. 중복 데이터는 내보내기 중단으로 인한 데이터 손상과 같은 하드웨어 문제, 데이터 변환 도구의 문제로 인한 우발적인 편집이나 삭제 등의 다양한 원인으로부터 비롯됩니다. ELT/ETL 프로세스의 각 단계는 데이터 세트의 품질과 정확성을 손상시킬 수 있는 위험을 야기하고 프로세스 효율성을 저하시킬 수 있습니다.

배포 및 관리 자동화

인데이터베이스 머신러닝은 데이터를 한 곳에 유지합니다. 데이터를 이동할 필요가 없으므로 내보내기/가져오기 및 입/출력 작업이 줄어듭니다. 따라서 다른 시스템에 의존할 필요 없이 네이티브 환경에서 프로세스를 수행할 수 있습니다. 배포, 감사, 점검 등 보다 다양한 작업에 자동화 도구와 역량을 활용할 수 있습니다. 사용자는 호환성이나 통합 이슈에 대한 우려 없이 관련 기능들을 활용할 수 있습니다.

인데이터베이스 머신러닝 도구 및 서비스

인데이터베이스 머신러닝 도구는 다양한 서비스 및 기능을 제공합니다. 많은 경우, 이러한 도구는 데이터베이스 공급업체가 통합 기능의 하위 집합, 또는 공급업체 머신러닝 플랫폼과의 내장된 연결의 형태로 제공하는 스탠드얼론 기능과 유사합니다. 예를 들어, Oracle Database는 시스템 간 데이터 이동이 필요 없도록 데이터베이스 환경 내부에서 머신러닝 기능을 제공합니다. SQL, R, Python, REST, 자동화된 머신러닝(AutoML), 노 코드 인터페이스 등의 Oracle Machine Learning 도구들을 사용한 탐색, 준비, 모델링과 다양한 알고리즘을 함께 지원합니다.

Oracle Machine Learning 대시보드 스크린샷

인데이터베이스 머신러닝의 단점

인데이터베이스 머신러닝은 많은 이점을 제공하지만 데이터베이스 환경의 특징과 기능에 크게 의존한다는 단점도 있습니다. 이는 향후의 마이그레이션 과정에서, 또는 ML 모델이 데이터베이스 환경의 네이티브 기능을 넘어서는 기능을 요구하게 될 경우에 문제를 야기할 수 있습니다.

인데이터베이스 머신러닝의 가장 일반적인 단점과 제한 사항은 다음과 같습니다.

모델 배포의 어려움

머신러닝 프로젝트의 요구 사항과 목표를 모두 달성했다면 테스트 단계에서 배포 단계로의 전환은 간단합니다. 그러나 훈련된 모델은 기업의 인데이터베이스 도구의 특정 기능에 기반하고 있습니다. 프로젝트가 더 복잡해지거나 마이그레이션이 필요해지면 어떻게 될까요? 인데이터베이스 도구는 ML 워크로드의 속도 및 효율성을 바로 향상시킬 수 있지만, 미래에 어떤 일이 일어날지는 불확실하므로 현재의 역량과 장기적 목표가 부합하는지 여부를 고려해야 합니다.

모델 복잡도 제한

인데이터베이스 머신러닝은 지원되는 데이터베이스 애플리케이션에서만 작동하며, 제한적인 API들만을 제공할 수 있습니다. 인데이터베이스 머신러닝 시스템의 기능이 개선되면서 상황이 변하고는 있지만, 일반적으로는 스탠드얼론 도구가 더 강력한 기능을 제공하고, 해당 기능의 활용을 돕는 전문 인력도 더 풍부합니다.

데이터 투명성 부족

인데이터베이스 머신러닝의 가장 큰 장점은 가장 큰 단점이기도 합니다. 데이터베이스 환경 내에 데이터를 유지하면 ETL/ELT 단계가 생략되지만, 데이터를 감사 및 정제하는 단계도 생략되기 때문입니다.

컴퓨팅 한계

대부분의 경우 데이터베이스는 머신러닝 도구와 동일한 컴퓨팅 리소스를 공유하지 않습니다. 고성능 컴퓨팅이 필요한 대규모 모델 또는 매우 복잡한 모델의 경우 더욱 그렇습니다. 따라서 인데이터베이스 머신러닝 모델의 범위에는 한계가 있는 경우가 많습니다. 모든 기업의 설정은 다릅니다. 마찬가지로 모든 프로젝트의 요구 사항은 다르며, 이는 초기 계획 단계에서 고려해야 할 장단점입니다.

HeatWave AutoML로 인데이터베이스 머신러닝 시작하기

HeatWave는 트랜잭션 및 레이크하우스 규모의 데이터 분석을 위한 완전 관리형 단일 클라우드 서비스에서 자동화되고, 통합되고, 안전한 생성형 AI 및 ML을 지원합니다. HeatWave AutoML에는 HeatWave 내에서 추가 비용 없이 ML 모델을 구축, 학습, 설명하기 위해 필요한 모든 요소들이 포함되어 있습니다. HeatWave에서 인데이터베이스 ML을 사용하면 데이터를 별도의 ML 서비스로 옮기지 않아도 됩니다. MySQL 및 객체 저장소에 저장된 데이터를 활용하여 ML 학습, 추론, 설명을 손쉽고 안전하게 수행할 수 있습니다. HeatWave는 Oracle Cloud Infrastructure(OCI), Amazon Web Services, Microsoft Azure에서 사용할 수 있습니다.

HeatWave는 ML의 힘을 완전히 활용하고자 하는 기업을 위한 게임 체인저가 될 수 있습니다. 시작하기 위해서는 자사의 데이터베이스가 인데이터베이스 ML을 지원하는지 먼저 확인해 보아야 합니다. 데이터를 ML 시스템으로 가져가는 대신 ML 알고리즘을 데이터가 저장된 곳으로 가져오면 의사 결정권자들을 지원하기 위한 더 빠르고 효율적인 분석을 수행할 수 있습니다.

데이터 그리고 AI : CIO의 성공을 위한 가이드

LLM부터 더 단순한 ML 모델까지, AI 모델의 크기와 복잡성은 다양합니다. 그렇다면 모든 모델의 공통점은 무엇일까요? 데이터에 대한 갈망입니다. AI에 준비된 데이터 인프라의 4가지 구성 요소를 확인해 보세요.

인데이터베이스 머신러닝 FAQ

인데이터베이스 ML을 효과적으로 사용하는 방법은 무엇인가요?

인데이터베이스 머신러닝은 기업이 인데이터베이스 기능을 지원하는 데이터베이스를 사용 중인 경우에만 사용할 수 있습니다. 데이터베이스 및 ML 모델의 규모와 범위, 해당 데이터베이스의 컴퓨팅 기반을 반드시 함께 고려해야 합니다.

인데이터베이스 ML의 이점은 무엇인가요?

인데이터베이스 머신러닝을 사용하면 시스템 간에 데이터를 추출하고 이동할 필요가 없습니다. 이를 통해 효율성 측면에서 자연스러운 이점을 얻을 수 있으며, ETL/ELT용 외부 도구에 의존할 필요가 없어지므로 경우에 따라 ML 프로세스에 소요되는 시간을 몇 주에서 며칠로 단축할 수 있습니다. 또한 큰 관점에서 보면 리소스 사용량 축소를 통해 소유 비용을 낮추고 확장성과 운영 효율성을 높일 수 있습니다.

인 데이터베이스 ML을 사용할 때 고려해야 할 문제들은 무엇인가요?

프로젝트에 인데이터베이스 머신러닝을 도입하기 전에 고려해 보아야 할 요소들은 다음과 같습니다.

  • 프로젝트는 얼마나 빠르게 진행되어야 하나요?
  • 모델은 얼마나 복잡한가요?
  • 전문가가 모델이나 데이터에 엑세스해야 하나요? 만약 그렇다면, 그들이 선호하는 도구는 무엇인가요?
  • 스탠드얼론 머신러닝 도구와 비교해 볼 때 데이터베이스가 제공 가능한 컴퓨팅 리소스는 어느 수준인가요?

이상의 질문들을 통해 인데이터베이스 머신러닝의 장단점을 명확히 알 수 있으며, 프로젝트마다 동일한 질문을 던져 보아야 합니다.

인데이터베이스 ML의 미래 트렌드는 무엇인가요?

공급업체들은 인데이터베이스 머신러닝 역량을 지속적으로 개선, 확장하고 있으며, 그에 따른 여러 트렌드가 생겨나고 있습니다. 갈수록 많은 도구와 플랫폼이 인데이터베이스 머신러닝을 지원하게 됨에 따라 데이터 과학자는 더욱 복잡한 모델을 구축, 배포할 수 있게 될 것입니다. 또한 모델이 머신러닝 도구를 사용, 운영하는 시스템에 국한되는 대신 통합 플랫폼에 존재하므로 더 높은 투명성을 확보할 수 있습니다. 머신러닝 역량이 증대되어 더 큰 데이터 세트도 사용 가능해지므로 훈련, 테스트, 배포 속도도 더 빨라질 것입니다.