AIㆍML / 개발자

데이터베이스 머신러닝을 지원하는 10가지 데이터베이스

Martin Heller  | InfoWorld 2022.12.22
클라우드 머신러닝 플랫폼을 선택하는 방법의 가장 첫 번째 준칙은 데이터에 가까이 가기다. 전송 속도는 빛의 속도를 넘을 수 없으므로 지연을 낮추려면 코드가 데이터에 가까이 위치해야 한다. 머신러닝, 특히 딥러닝은 모든 데이터를 여러 차례 살펴보는 경향이 있다(이렇게 살펴보는 각각의 과정을 에포크(epoch)라고 함).
 
데이터가 매우 큰 집합에서 이상적인 경우는 데이터가 이미 존재하는 모델을 구축해서 대량 데이터 전송이 불필요하게 하는 것이다. 여러 데이터베이스가 제한적인 범위에서 이를 지원한다. 그러면 자연스럽게 ‘내부 머신러닝을 지원하는 데이터베이스는 무엇이며 어떤 식으로 지원하는가’라는 질문이 이어진다. 그 데이터베이스를 알파벳 순서대로 살펴보자.
 
ⓒ Getty Images Bank
 

아마존 레드시프트(Amazon Redshift)

아마존 레드시프트는 기존 비즈니스 인텔리전스 툴을 사용해서 모든 데이터를 간단히, 비용 효율적으로 분석하는 관리형 페타바이트급 데이터 웨어하우스 서비스다. 용량이 수백 기가바이트에서 페타바이트, 또는 그 이상인 데이터 집합에 최적화된 서비스이며 비용은 테라바이트당 연 1,000달러 미만이다.
 
SQL 사용자는 아마존 레드시프트 ML으로 SQL 명령을 사용해서 손쉽게 머신러닝 모델을 만들고 학습시키고 배포한다. 레드시프트 SQL의CREATE MODEL 명령은 학습에 사용할 데이터와 대상 열을 정의한 다음 동일한 영역의 암호화된 아마존 S3 버킷을 통해 아마존 세이지메이커 오토파일럿(SageMaker Autopilot)으로 데이터를 전달해 학습을 실행한다.
 
오토ML 학습이 완료되면 레드시프트 ML은 최선의 모델을 컴파일해서 레드시프트 클러스터에 예측 SQL 함수로 등록한다. 그러면 사용자는 SELECT 문 내에서 이 예측 함수를 호출하는 방법으로 추론을 위한 모델을 호출한다.
 
요약 : 레드시프트 ML은 세이지메이커 오토파일럿을 사용, SQL 문을 통해 지정된 데이터로부터 자동으로 예측 모델을 만들며, 이 모델은 S3 버킷으로 추출된다. 발견된 최선의 예측 함수가 레드시프트 클러스터에 등록된다.
 

블레이징SQL(BlazingSQL)

블레이징 SQL은 래피즈(RAPIDS) 생태계를 기반으로 구축된 GPU 가속 SQL 엔진이다. 오픈소스 프로젝트와 유료 서비스, 두 가지 형태로 존재한다. 래피즈는 엔비디아가 인큐베이팅한 오픈소스 소프트웨어 라이브러리와 API 모음으로 쿠다(CUDA)를 사용하며 아파치 애로우(Arrow) 컬럼 메모리 형식을 기반으로 한다. 래피즈에 속하는 CuDF는 데이터를 로드, 조인, 집계, 필터링하고 기타 조작하기 위한 판다스(Pandas)와 비슷한 GPU 데이터프레임 라이브러리다.
 
다스크(Dask)는 파이썬 패키지를 여러 머신으로 확장 가능한 오픈소스 툴이다. 다스크는 한 시스템 또는 멀티 노드 클러스터에 위치한 여러 GPU로 데이터와 연산을 분산한다. 다스크는 GPU 가속 데이터 분석 및 머신러닝을 위해 래피즈 cuDF, XG부스트(XGBoost), 래피즈 cuML과 통합된다.
 
요약 : 블레이징SQL은 아마존 S3의 데이터 레이크에서 GPU 가속 쿼리를 실행하고, 결과로 얻은 데이터프레임을 데이터 조작을 위해 cuDF로 전달하고, 마지막으로 래피즈 XG부스트 및 cuML을 사용해서 머신 러닝을, 파이토치와 텐서플로우를 사용해서 딥러닝을 수행할 수 있다.
 

브라이트라이트(Brytlyt) 

브라이트라이트는 딥러닝 기능으로 데이터베이스 내 AI를 실현하는 브라우저 중심의 플랫폼이다. 브라이트라이트는 포스트그레SQL 데이터베이스, 파이토치, 주피터 노트북, 사이킷-런, 넘파이, 판다스, ML플로우를 하나의 서버리스 플랫폼으로 결합한다. 이 서버리스 플랫폼이 세 가지 GPU 가속 제품, 즉 데이터베이스, 데이터 시각화 툴, 그리고 노트북을 사용하는 데이터 과학 툴 역할을 한다.
 
브라이트라이트는 태블로와 같은 BI 툴, 파이썬을 포함해 포스트그레SQL 커넥터가 있는 모든 제품과 연결된다. CSV와 같은 외부 데이터 파일, 포스트그레SQL 외부 데이터 래퍼(FDW)에서 지원하는 외부 SQL 데이터 소스에서의 데이터 로드와 수집을 지원한다. 후자에는 스노우플레이크, 마이크로소프트 SQL 서버, 구글 클라우드 빅쿼리, 데이터브릭스, 아마존 레드시프트, 아마존 아테나 등이 포함된다.
 
조인 병렬 처리 기능이 있는 GPU 데이터베이스인 브라이트라이트는 수십억 개의 데이터 행을 몇 초 만에 처리할 수 있다. 브라이트라이트에는 통신, 소매, 석유 및 가스, 금융, 물류, DNA와 유전체학 분야의 애플리케이션이 있다.
 
요약: 파이토치 및 사이킷-런이 통합된 브라이트라이트는 자체 데이터를 대상으로 내부적으로 실행되는 딥러닝과 간단한 머신러닝 모델을 모두 지원할 수 있다. GPU 지원과 병렬 처리 덕분에 모든 작업이 비교적 빠르다. 물론 수십억 개의 행을 대상으로 복잡한 딥러닝 모델을 학습시키는 데는 어느 정도 시간이 걸린다.
 

구글 클라우드 빅쿼리

빅쿼리는 방대한 양의 데이터를 대상으로 근실시간 분석을 실행할 수 있게 해주는 구글 클라우드의 페타바이트급 관리형 데이터 웨어하우스다. 빅쿼리 ML은 SQL 쿼리를 사용해서 빅쿼리에서 머신러닝 모델을 만들고 실행할 수 있다. 
 
빅쿼리 ML은 예측을 위한 선형 회귀, 분류를 위한 바이너리 및 멀티 클래스 로지스틱 회귀, 데이터 세그먼트화를 위한 K-means 클러스터링, 제품 추천 시스템을 만들기 위한 행렬 분해, 이상치, 계절성 및 휴가철을 포함한 시계열 예측 수행을 위한 시계열, XG부스트 분류 및 회귀 모델, 분류 및 회귀 모델을 위한 텐서플로우 기반 심층신경망, 오토ML 테이블, 텐서플로우 모델 가져오기를 지원한다. 학습과 예측을 위해 여러 빅쿼리 데이터 집합의 데이터가 포함된 모델을 사용할 수 있다. 빅쿼리 ML은 데이터 웨어하우스에서 데이터를 추출하지 않는다. CREATE MODEL 문의 TRANSFORM 절을 사용해서 빅쿼리 ML로 특징 엔지니어링을 수행할 수 있다.
 
요약 : 빅쿼리 ML은 데이터 웨어하우스에서 데이터를 추출하지 않고도 SQL 구문을 사용해 구글 클라우드 머신러닝의 강력함을 빅쿼리 데이터 웨어하우스로 가져온다.
 

IBM Db2 웨어하우스

IBM Db2 웨어하우스 온 클라우드(Db2 Warehouse on Cloud)는 관리형 퍼블릭 클라우드 서비스다. 자체 하드웨어를 사용해서 온프레미스에서 또는 사설 클라우드에도 IDB Db2 웨어하우스를 설치할 수 있다. 데이터 웨어하우스로, 메모리 내 데이터 처리, 온라인 분석 처리를 위한 컬럼 테이블 등의 기능을 포함한다. 네테자(Netezza) 기술은 데이터에 대해 효율적으로 쿼리를 실행할 수 있게 해주는 견고한 분석 모음을 제공한다. 다양한 라이브러리와 함수를 활용해서 정확히 원하는 인사이트를 얻을 수 있다.
 
Db2 웨어하우스는 파이썬, R, SQL로 데이터베이스 내 머신러닝을 지원한다. IDAX 모듈에는 분산 분석, 연관 규칙, 데이터 변환, 의사 결정 트리, 진단 측정, 이산화 및 적률, K-means 클러스터링, K-최근접 이웃, 선형 회귀, 메타데이터 관리, 나이브 베이즈 분류, 주 성분 분석, 확률 분포, 무작위 샘플링, 회귀 트리, 순차적 패턴 및 규칙, 모수 및 비모수 통계를 비롯한 분석 저장 프로시저가 포함된다.
 
요약 : IBM Db2 웨어하우스에는 일부 기본적인 머신러닝 기능을 포함한 다양한 데이터베이스 내 SQL 분석 모음과 R 및 파이썬을 위한 데이터베이스 내 지원이 포함된다.
 

키네티카(Kinetica)

키네티카 스트리밍 데이터 웨어하우스는 API 및 SQL으로 역사적 데이터 분석 및 스트리밍 데이터 분석과 위치 인텔리전스, AI에 액세스하는 하나의 플랫폼으로 결합한다. 매우 빠른 분산, 컬럼, 메모리 우선, GPU 가속 데이터베이스로, 필터링과 시각화, 집계 기능을 지원한다.
 
키네티카는 대규모의 실시간 예측 분석을 위해 머신러닝 모델과 알고리즘을 데이터와 통합한다. 데이터 파이프라인과 분석, 머신러닝 모델 및 데이터 엔지니어링의 수명주기를 능률화하고 스트리밍으로 특징을 계산한다. 관리형 주피터 노트북, 래피즈를 통한 모델 학습, 키네티카 플랫폼에서의 자동화된 모델 배포 및 추론 등 GPU로 가속되는 머신러닝을 위한 전체 수명주기 솔루션을 제공한다.
 
요약 : 키네티카는 GPU로 가속되는 머신러닝을 위한 전체 데이터베이스 내 수명주기 솔루션을 제공하며 스트리밍 데이터에서 특징을 계산할 수 있다.
 

마이크로소프트 SQL 서버

마이크로소프트 SQL 서버 머신러닝 서비스(Microsoft SQL Server Machine Learning Services)는 R, 파이썬, 자바, PREDICT T-SQL 명령, 그리고 SQL 서버 RDBMS의 rx_Predict 저장 프로시저, SQL 서버 빅 데이터 클러스터의 스파크ML을 지원한다. R 및 파이썬 언어로 머신러닝을 위한 여러 패키지와 라이브러리가 포함된다. 학습된 모델을 데이터베이스 또는 외부에 저장할 수 있다. 애저 SQL 매니지드 인스턴스(Azure SQL Managed Instance)는 파이썬 및 R을 위한 머신러닝 서비스를 프리뷰로 지원한다.
 
마이크로소프트 R에는 디스크와 메모리의 데이터를 처리할 수 있게 해주는 확장이 있다. SQL 서버는 R, 파이썬, 자바 코드에서 SQL 서버 데이터와 함수를 사용할 수 있도록 확장 프레임워크를 제공한다. SQL 서버 빅 데이터 클러스터는 쿠버네티스에서 SQL 서버, 스파크, HDFS를 실행한다. SQL 서버는 파이썬 코드를 호출한 다음 애저 머신 러닝을 호출하고, 그 결과 모델을 예측에 사용하기 위해 데이터베이스에 저장할 수 있다.
 
요약 : 현재 버전의 SQL 서버는 여러 프로그래밍 언어로 머신러닝 모델을 학습 및 추론할 수 있다.
 

오라클 데이터베이스

오라클 클라우드 인프라(OCI) 데이터 사이언스는 데이터 과학 팀에서 오라클 오토노머스 데이터베이스(Oracle Autonomous Database)와 오라클 오토노머스 데이터 웨어하우스(Oracle Autonomous Data Warehouse)를 포함한 오라클 클라우드 인프라를 사용해 머신러닝 모델을 만들고 학습시키고 관리하기 위한 관리형 및 서버리스 플랫폼이다. 오픈소스 커뮤니티에서 개발한 파이썬 중심의 툴과 라이브러리, 패키지, 그리고 다음과 같이 예측 모델의 수명주기를 종단간 지원하는 오라클 액셀러레이티드 데이터 사이언스(Oracle Accelerated Data Science: ADS) 라이브러리를 포함한다.

•    데이터 획득, 프로파일링, 준비, 시각화
•    특징 엔지니어링
•    모델 학습(오라클 오토ML 포함)
•    모델 평가, 설명 및 해석(오라클 MLX 포함)
•    모델을 오라클 펑션에 배포
 
OCI 데이터 사이언스는 펑션, 데이터 플로우, 오토노머스 데이터 웨어하우스, 오브젝트 스토리지를 포함한 오라클 클라우드 인프라 스택의 나머지 부분과 통합된다.
 
현재 지원되는 모델은 다음과 같다.

•    오라클 오토ML
•    케라스
•    사이킷-런
•    XG부스트
•    ADS튜너(하이퍼파라미터 튜닝)
 
ADS는 머신러닝 설명 가능성(MLX)도 지원한다.
 
요약 : 오라클 클라우드 인프라는 오라클 데이터 웨어하우스, 객체 저장소 및 함수와 통합된 데이터 과학 리소스를 호스팅해서 전체 모델 개발 수명주기를 지원한다.
 

버티카(Vertica)

버티카 애널리틱스 플랫폼은 확장 가능한 컬럼 스토리지 데이터 웨어하우스다. 두 가지 모드로 실행된다. 엔터프라이즈 모드는 데이터베이스를 구성하는 노드의 파일 시스템에 로컬로 데이터를 저장하고, EON 모드는 모든 컴퓨팅 노드를 위해 공용으로 데이터를 저장한다.
 
버티카는 대량 병렬 처리를 사용해 페타바이트 규모의 데이터를 처리하며 데이터 병렬 처리를 통해 내부 머신러닝을 수행한다. 데이터 준비를 위한 내장 알고리즘 8개, 회귀 알고리즘 3개, 분류 알고리즘 4개, 클러스터링 알고리즘 2개, 그리고 여러 모델 관리 함수가 있으며 다른 곳에서 학습된 텐서플로우 및 PMML 모델을 가져오는 기능도 제공한다. 모델을 피팅하거나 가져오면 예측에 사용한다. C++, 자바, 파이썬 또는 R로 프로그램된 사용자 정의 확장도 허용한다. 학습과 추론에 모두 SQL 구문을 사용 가능하다.
 
요약 : 버티카에는 유용한 여러 머신러닝 알고리즘이 내장돼 있고 텐서플로우 및 PMML 모델을 가져올 수 있다. 가져온 모델과 자체 모델에서 모두 예측을 수행한다.
 

마인즈DB(MindsDB)

데이터베이스가 내부 머신러닝을 지원하지 않는다면 대부분의 경우 마인즈DB를 사용해 그 기능을 추가한다. 마인즈DB는 6개의 데이터베이스 및 5개의 BI 툴과 통합된다. 지원되는 데이터베이스는 마리아DB, 마이SQL, 포스트그레SQL, 클릭하우스, 마이크로소프트 SQL 서버, 스노우플레이크이며, 현재 몽고DB 통합 작업이 진행 중이고 스트리밍 데이터베이스와의 통합도 예정돼 있다. 현재 지원되는 BI 툴은 SAS, 클릭 센스(Qlik Sense), 마이크로소프트 파워 BI, 루커(Looker), 도모(Domo)다.
 
마인즈DB는 오토ML, AI 테이블 및 설명 가능한 AI(XAI)를 특징으로 한다. 마인즈DB 스튜디오, SQL INSERT 문, 또는 파이썬 API 호출에서 오토ML 학습을 호출한다. 학습에서 선택적으로 GPU를 사용하고 시계열 모델을 생성할 수도 있다.
 
데이터베이스를 모델로 저장하고, 저장된 모델에 대한 SQL SELECT 문이나 마인즈DB 스튜디오 또는 파이썬 API 호출을 통해 이 모델을 호출할 수 있다. 마인즈DB 스튜디오에서 모델을 평가, 설명, 시각화한다.
 
또한 마인즈DB 스튜디오와 파이썬 API를 로컬 및 원격 데이터 소스에 연결할 수도 있다. 또한 마인즈DB는 파이토치에서 실행되는 간소한 딥러닝 프레임워크인 라이트우트(Lightwood)를 제공한다.
 
요약 : 마인즈DB는 머신러닝을 기본 지원하지 않는 여러 데이터베이스에 유용한 머신러닝 기능을 제공한다.
 
내부적으로 머신러닝을 수행하는 데이터베이스의 수가 증가하고 있다. 정확한 메커니즘은 다르고 데이터베이스에 따라 기능 수준에 차이가 있다. 그러나 데이터가 너무 많아서 샘플링된 하위 집합에 모델을 피팅해야 하는 상황이라면 위에 소개한 8개 데이터베이스는(또는 마인즈DB를 활용하면 그 외의 데이터베이스도) 데이터 전문가에게 심각한 오버헤드를 유발하지 않으면서 전체 데이터 집합을 사용해 모델을 구축하는 방법이다.
editor@itworld.co.kr 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.