Offcanvas

머신러닝|딥러닝 / 빅데이터 | 애널리틱스 / 클라우드

‘인 데이터베이스’ 머신러닝 지원하는 데이터베이스 8종

2021.02.19 Martin Heller  |  InfoWorld
2020년 8월 ‘클라우드 머신러닝 플랫폼 선택 기준 12가지’이라는 글에서 플랫폼 선택의 첫 번째 가이드라인으로 ‘데이터에 가까이 다가가기’를 제시했다. 빛의 속도가 전송 속도를 제한하기 때문에 지연을 낮게 유지하기 위해 데이터 근처에 코드를 존재하는 것이 바람직하다. 머신러닝의 경우 모든 데이터를 여러 차례 검토하는 경향이 있다는 점을 감안하면 더욱 그렇다(각각의 검토 과정을 에포크(Epoch)라고 지칭된다).

필자는 당시 큰 데이터 세트를 데이터가 이미 위치한 장소에 모델을 구축함으로써, 대량의 데이터 전송을 불필요하게 만드는 것이 좋다고 설명했다. 몇몇 데이터베이스가 제한된 범위에서 이러한 콘셉트를 지원한다. 그렇다면 내부 머신러닝을 지원하는 데이터베이스는 무엇일까? 어떤 방법으로 이를 지원할까? 이런 데이터베이스를 알파벳 순으로 소개한다.
 
Image Credit : Getty Images Bank


아마존 레드시프트
아마존 레드시프트는 기존 비즈니스 인텔리전스 도구를 이용해 데이터를 쉽게, 비용 효과적으로 분석할 수 있도록 설계된 관리형 페타바이트급 데이터 웨어하우스 서비스이다. 몇 백 기가바이트에서 1 페타바이트까지 다양한 크기의 데이터세트에 최적화되어 있고, 비용은 연간 테라바이트 당 1,000달러 미만이다.

아마존 레드시프트 머신러닝은 SQL 사용자가 SQL 명령을 사용하여 쉽게 머신러닝 모델을 만들고, 트레이닝하고, 배포할 수 있도록 설계되어 있다. 레드시프트 SQL의 CREATE MODEL 명령은 트레이닝과 대상 열에 사용할 데이터를 정의하고, 동일한 구역의 암호화된 아마존 S3 버킷을 통해 아마존 세이지메이커 오토파일럿로 보내 트레이닝을 한다.

오토ML 트레이닝 후, 레드시프트 ML은 최상의 모델을 컴파일링하고, 사용자의 레드시프트 클러스터에 예측 SQL 함수로 등록한다. 그러면 사용자는 SELECT 구문 내 예측 함수를 호출하는 방법으로 추론을 위한 모델을 호출할 수 있다.

요약 : 레드시프트 ML은 세이지메이커 오토파일럿을 사용, 자동으로 SQL 구문을 통해 지정한 데이터에서 예측 모델을 생성하며, 이는 S3 버킷으로 추출된다. 발견된 가장 좋은 예측 함수가 레드시프트 클러스터에 등록된다.

블레이징SQL
블레이징SQL래피즈(RAPIDS) 생태계 위에 구축된 GPU 가속 SQL 엔진이다. 그리고 이는 오픈소스 프로젝트도 있고, 유료 서비스도 있다. 래피즈는 엔비디아가 인큐베이팅한 오픈소스 소프트웨어 라이브러리 및 API 스윗이다. 쿠다(CUDA)를 사용하고, 아파치 애로우 컬럼 단위 메모리 형식에 기반을 두고 있다. 래피즈의 일부인 CuDF는 데이터를 로딩, 연결, 집계, 필터링, 기타 조작하는 데 사용되는 팬더스 같은 GPU 데이터프레임 라이브러리이다.

다스크(Dask)는 파이썬 패키지를 여러 머신으로 확장할 수 있는 오픈소스 도구이다. 다스크를 이용하면 동일한 시스템이나 멀티-노드 클러스트에 위치한 여러 GPU로 데이터와 연산을 분산 배포할 수 있다. 다스크는 GPU 가속 데이터 분석과 머신러닝용으로 래피즈, cuDF, XGBoost, 래피즈 cuML과 통합된다.

요약 : 블레이징SQL은 아마존 S3의 데이터 레이크에서 GPU 가속 쿼리를 실행하고, 데이터 조작을 위해 생성된 데이터프레임을 cuDF에 전달하고, 마지막으로 래피즈 XGBoost 및 cuML로 머신러닝을 수행하고, 파이토치 및 텐소플로우로 딥러닝을 수행할 수 있다.

구글 클라우드 빅쿼리
빅쿼리는 근 실시간으로 많은 데이터에 대해 분석을 실시할 수 있는 구글 클라우드의 관리형 페타바이트급 데이터 웨어하우스이다. 빅쿼리 ML을 사용하면 SQL 쿼리를 사용, 빅쿼리에서 머신러닝 모델을 만들어 실행할 수 있다.

빅쿼리 ML은 예측용 선형 회귀, 분류용 바이너리 및 멀티-클래스 논리 회귀, 데이터 세그먼테이션용 K-means 클러스터링, 제품 추천 시스템을 생성하기 위한 행렬 분해, 이상치와 계절성, 휴일 등 시계열 예측을 위한 시계열, XGBoost 분류 및 회귀 모델, 텐소플로우 기반 딥 뉴럴 네트워크(분류 및 회귀 모델용), AutoML 테이블, 텐소플로우 모델 가져오기 등을 지원한다.

트레이닝과 예측에 여러 빅쿼리 데이터세트의 데이터를 이용하는 모델을 사용할 수 있다. 빅쿼리 ML은 데이터 웨어하우스에서 데이터를 추출하지 않는다. 자신의 CREATE MODEL 구문에 TRANSFORM을 사용하는 방법으로 빅쿼리로 기능을 엔지니어링 할 수 있다.

요약 : 빅쿼리 ML은 데이터 웨어하우스에서 데이터를 추출하지 않고 SQL 구문을 사용, 구글 클라우드 머신러닝의 기능 대부분을 데이터 웨어하우스로 가져온다.

IBM Db2 웨어하우스
‘IBM Db2 웨어하우스 온 클라우드’는 관리형 퍼블릭 클라우드 서비스이다. 자신의 하드웨어를 이용해 온프레미스 방식으로, 또는 프라이빗 클라우드 방식으로 IBM Db2 웨어하우스를 구현할 수도 있다. 

데이터 웨어하우스로 온라인 분석 처리를 위한 컬럼 단위 테이블과 인-메모리 데이터 처리 같은 기능들이 포함되어 있다. 탑재된 네테자(Netezza) 기술은 데이터에 효과적으로 쿼리를 적용할 수 있도록 설계된 분석 기능들을 제공한다. 다양한 라이브러리와 기능들이 필요한 정확한 인사이트를 얻도록 도움을 준다.

Db2 웨어하우스는 파이썬, R, SQL에서 인-데이터베이스 머신러닝을 지원한다. IDANZ 모듈은 IDAX 모듈은 분산 분석, 연관 규칙, 데이터 변환, 의사 결정 트리, 진단 측정, 이산화 및 모먼츠, K-means 클러스터링, KNN(K-nearest neighbors), 선형 회귀, 메타데이터 관리, 나이브 베이즈(naïve Bayes) 분류, 주 성분 분석, 확률 분포, 임의 샘플링, 회귀 나무, 순차적 패턴 및 규칙, 모수 및 비모수 통계 등 저장 프로시저가 포함되어 있다.

요약 : IBM Db2 웨어하우스에는 일부 기본 머신러닝 기능성 등 광범위한 인-데이터베이스 SQL 분석 기능이 포함되어 있다. 또 R과 파이썬에 대한 인-데이터베이스 지원이 포함되어 있다.

키네티카
‘키네티카 스트리밍 데이터 웨어하우스’는 하나의 플랫폼에서 역사적 데이터 및 스트리밍 데이터 분석, 위치 인텔리전스를 통합해 제공한다. 모두 API와 SQL을 통해 액세스할 수 있다. 키네티카는 필터링, 시각화, 집계 기능을 지원하는 아주 빠른 분산형, 컬럼 단위, 메모리 우선, GPU-가속 데이터베이스이다.

키네티카는 대규모의 실시간 예측 분석을 위해 머신러닝 모델과 알고리즘을 사용자의 데이터와 통합한다. 데이터 파이프라인과 분석 및 머신러닝 모델, 데이터 엔지니어링 생애주기를 능률화하고, 스트리밍으로 기능들을 계산할 수 있다. 키네티카는 키네티카 플랫폼에서의 자동화된 모델 배포 및 추론, 관리형 주피터 노트북, 래피즈를 통한 모델 트레이닝 등 GPU로 가속화한 완전한 머신러닝용 ‘생애주기’ 솔루션을 제공한다.

요약 : 키네티카는 GPU로 가속화한 완전한 머신러닝용 인-데이터베이스 생애주기 솔루션을 제공하며, 스트리밍 데이터의 기능을 계산할 수 있다.

마이크로소프트 SQL 서버
‘마이크로소프트 SQL 서버 머신러닝 서비스’는 SQL 서버 RDBMS에서는 R과 파이썬, 자바, PREDICT T-SQL 명령, rx_Predict 저장 프로시저를, SQL Server 빅데이터 클러스터에서는 SparkML을 지원한다. 

R과 파이썬 언어의 경우, 마이크로소프트는 몇몇 머신러닝용 패키지와 라이브러리를 포함하고 있다. 트레이닝한 모델을 데이터베이스에, 또는 외부에 저장할 수 있다. 애저 SQL 매니지먼트 인스턴스는 파이썬과 R용 머신러닝 서비스를 프리뷰로 지원한다.

마이크로소프트 R에는 디스크는 물론 메모리에서 데이터를 처리할 수 있는 익스텐션이 포함되어 있다. SQL 서버는 R과 파이썬 자바 코드가 SQL 서버 데이터와 함수를 사용할 수 있는 익스텐션 프레임워크를 제공한다. SQL 서버 빅 데이터 클러스터는 쿠버네티스에서 SQL 서버, 스파크, HDFS를 실행한다. SQL 서버가 파이썬 코드를 호출하면, 이는 애저 머신러닝을 호출하고, 결과 모델을 예측에 사용하기 위해 데이터베이스에 저장할 수 있다.

요약 : 현재 SQL 서버 버전은 여러 프로그래밍 언어로 머신 학습 모델을 트레이닝 및 추론할 수 있다.

오라클
오라클 클라우드 인프라(OCI) 데이터 사이언스는 데이터 사이언스 팀이 오라클 클라우드 인프라를 사용해 머신러닝 모델을 만들고, 트레이닝하고, 관리할 수 있는 관리형 서버리스 플랫폼이다. 여기에는 오픈소스 커뮤니티가 개발한 파이썬 중심의 도구, 라이브러리, 패키지와 오라클 ADS(Accelerated Data Science) 라이브러리가 포함되어 있다. 이는 예측 모델의 전체 ‘생애 주기’를 지원한다.

• 데이터 획득, 프로파일링, 준비 및 시각화
• 기능 엔지니어링
• 모델 트레이닝(오라클 오토ML 포함)
• 모델 평가, 설명 및 해석(오라클 MLX 포함)
• 오라클 함수로 모델 배포

OCI 데이터 사이언스는 Functions, Data Flow, Autonomous Data Warehouse, Object Storage 등 나머지 오라클 클라우드 인프라 스택과 통합된다.

모델은 현재 다음을 지원한다.

Oracle AutoML
Keras
Scikit-learn
XGBoost
ADSTuner(하이퍼파라미터 튜닝)

ADS는 또한 MLX(Machine Learning Explainability)를 지원한다.

요약 : 오라클 클라우드 인프라는 데이터 웨어하우스, 오브젝트 스토어 및 기능과 통합된 데이터 사이언스를 호스팅할 수 있어, 완전한 모델 개발의 생애주기를 지원한다.

버티카
버티카 애널리틱스 플랫폼은 확장 가능한 컬럼 단위 스토리지 데이터 웨어하우스다. 2가지 모드로 실행된다. 데이터를 데이터베이스를 구성하는 노드의 파일 시스템에 로컬 저장하는 엔터프라이즈와 모든 컴퓨터 노드에 대해 데이터를 공동으로 저장하는 EON이다.

버티카는 페타바이트의 데이터를 처리하기 위해 대규모 병렬 처리를 사용하며, 데이터 병렬화로 내부 머신러닝을 수행한다. 8개의 데이터 준비 알고리즘, 3개의 회귀 알고리즘, 4개의 분류 알고리즘, 2개의 클러스터링 알고리즘, 7개의 모델 관리 함수를 탑재하고 있고, 다른 곳에서 트레이닝한 텐소플로우 및 PMML 모델을 가져오는 기능을 지원한다. 모델을 구축하거나 가져온 후, 이를 예측에 사용할 수 있다. 또한 C++, 자바, 파이썬, R로 프로그래밍 된 사용자 정의 익스텐션을 지원한다. SQL 구문을 트레이닝과 추론에 사용할 수 있다.
 
요약 : 버티카는 유용한 머신러닝 알고리즘들이 내장되어 있고, 텐소플로우 및 PMML 모델을 가져올 수 있다. 자신의 모델은 물론 가져온 모델에서 예측을 수행할 수 있다.

위에서 소개한 8개의 데이터베이스 모두 내부에서 머신러닝을 지원한다. 메커니즘은 다양하며, 기능과 성능도 다르다. 그러나 샘플링한 하위세트에 모델을 구현해야 할 정도로 데이터가 아주 많은 경우, 이들 데이터베이스는 데이터 내보내기와 관련된 큰 부담 없이 전체 데이터세트로 모델을 구축할 수 있도록 도와준다.

* 인포월드 기고 편집자이자 리뷰어인 Martin Heller는 웹 및 윈도우 프로그래밍 컨설턴트 경력을 보유자다. 1986년부터 2010년까지는 데이터베이스, 소프트웨어, 웹사이트 개발자로 일했으며 그 이후에는 알파 소프트웨어의 기술 및 교육 부사장, 튜브파이의 의장이자 CEO를 역임했다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.