Offcanvas

How To / 데이터센터 / 빅데이터 | 애널리틱스 / 애플리케이션 / 클라우드

'내부 머신러닝 지원' 데이터베이스 8종

2021.05.03 Martin Heller  |  InfoWorld
2020년 8월 기사인 ‘클라우드 머신러닝 플랫폼 선택 기준 12가지’How to choose a cloud machine learning platform)’에서 플랫폼을 선택하는 첫째 기준으로서 ‘데이터와 가까울 것’e close to your data)를 제안했던 바 있다. 코드(소프트웨어)를 데이터에 가까이 유지하는 것은 지연을 낮게 유지하는 데 필수적이다. 전송 속도가 빛의 속도로 제한되기 때문이다. 결국, 머신러닝, 특히 딥러닝은 각종 데이터를 여러 차례 통과하는 경향이 있다(각 통과는 에포크(epoch)라고 불린다). 

당시 기사에서는 대량 데이터 세트라면 데이터가 상주하는 곳에 모델이 구축되는 것이 이상적이라고 권고됐다. 그래야 대량 데이터 전송이 필요하지 않기 때문이다. 몇몇 데이터베이스는 이를 제한적인 수준에서나마 지원한다. 자연스럽게 이어지는 다음 질문은 어떤 데이터베이스가 내부 머신러닝을 지원하는지, 그리고 지원이 어떤 방식으로 이루어지는 지이다. 여기서는 이들 데이터베이스를 알파벳 순서로 논의한다. 
 
Image Credit : Getty Images Bank

아마존 레드시프트 
아마존 레드시프트(Amazon Redshift)는 관리형 페타바이트 규모의 데이터 웨어하우스 서비스이고, 기업이 기존의 비즈니스 인텔리전스 툴을 이용해 모든 데이터를 분석할 수 있는 단순하고 비용 효율적인 해법이다. 이는 몇 백 기가바이트로부터 페타바이트 또는 그 이상에 이르는 데이터 세트에 최적화돼 있으며, 비용은 연간 테라바이트당 1,000달러 미만이다. 

아마존 레드시프트 ML(Amazon Redshift ML)은 SQL 이용자가 SQL 명령을 사용해 머신러닝 모델을 생성하고 훈련하고 전개하는 것을 쉽게 할 수 있도록 설계되었다. 레드시프트 SQL의 ‘모델 생성하기(CREATE MODEL)’ 명령은 훈련에 쓰일 데이터와 표적 컬럼을 정의하고, 동일 권역 내의 암호화된 아마존 S3 버킷을 통해 데이터를 아마존 세이지메이커 오토파일럿(Amazon SageMaker Autopilot)으로 전송해 훈련시킨다.

오토ML 훈련 후 레드시프트 ML은 최고의 모델을 컴파일하여 이를 레드시프트 클러스터 내의 예측 SQL 함수로 등록한다. 그 후 ‘셀렉트(SELECT)’ 진술문 내의 예측 함수를 호출함으로써 해당 모델을 추론을 위해 가동할 수 있다. 

요약 : 레드시프트 ML은 세이지메이커 오토파일럿을 이용해 SQL 진술문 내에 명시된 데이터로부터 예측 모델을 자동으로 생성한다. 최고의 예측 함수가 발견되면 이는 레드시프트 클러스터에 등록된다. 

블레이징SQL 
블레이징SQL(BlazingSQL)은 RAPIDS 생태계 위에 구축되는 GPU 가속 SQL엔진이다. 오픈소스 프로젝트이자 유료 서비스로서 존재한다. RAPIDS는 엔비디아가 육성하는 CUDA를 이용한 오픈소스 소프트웨어 라이브러리와 API 스위트이고, 아파치 애로우(Apache Arrow) 컬럼 메모리 포맷에 기초한다. CuDF는 RAPIDS의 일부이고, 데이터를 로드하고 연결하고 취합하고 필터링하고 조작하는 판다스 유형의 GPU 데이터프레임 라이브러리이다.

대스크(Dask)는 파이썬 패키지를 여러 머신으로 확장할 수 있는 오픈소스 툴이다. 대스크는 동일 시스템 내에서나 다수의 노드 클러스터 내에서 다수의 GPU에 걸쳐 데이터와 연산을 분산할 수 있다. 대스크는 GPU-가속 데이터 애널리틱스와 머신러닝을 위해 RAPIDS cuDF, XB부스트(XGBoost), RAPIDS cuML과 통합된다. 

요약 : 블레이징SQL은 아마존 S3의 데이터 레이크 상에서 GPU 가속 쿼리를 실행할 수 있고, 결과적인 데이터프레임(DataFrame)을 데이터 조작을 위해 cuDF로 이송할 수 있고, 최종적으로 RAPIDS XGBoost와 cuML과 함께 머신러닝을, 그리고 파이토치(PyTouch) 및 텐서플로우(TensorFlow)와 함께 딥 러닝을 수행할 수 있다. 

구글 클라우드 빅쿼리 
빅쿼리(BigQuery)는 구글 클라우드의 관리형 페타바이트-규모 데이터 웨어하우스이고, 방대한 양의 데이터에 걸쳐 애널리틱스를 거의 실시간으로 수행할 수 있다. 빅쿼리 ML(BigQuery ML)은 SQL 쿼리를 이용해 빅쿼리 내에서 머신러닝 모델을 생성하고 실행할 수 있다.

빅쿼리 ML은 선형 회귀를 통한 예측을 지원한다. 그리고 바이너리 및 멀티 클래스 로지스틱 회귀를 통한 분류, K-평균 군집화를 통한 데이터 분할, 행렬 분해를 통한 제품 추천 시스템 생성, 시계열을 통한 시계열 예측 수행(비정상, 계절성, 휴일 등), XG부스트 분류 및 회귀 모델, 텐서플로우 기반 딥 신경망을 통한 분류 및 회귀 모델, 오토ML 테이블, 텐서플로우 모델 가져오기를 지원한다. 

이용자는 다수의 빅쿼리 데이터 세트로부터의 데이터와 함께 모델을 이용해 훈련과 예측을 할 수 있다. 빅쿼리 ML은 데이터 웨어하우스로부터 데이터를 추출하지 않는다. ‘크리에이트 모델(CREAT MODEL) 명령문’ 내의 ‘트랜스폼(TRANSFORM)’ 구절을 이용해 빅쿼리 ML로 기능 엔지니어링을 수행할 수 있다. 

요약 : 빅쿼리 ML은 구글 클라우드 머신러닝의 위력을 SQL 구문을 통해 빅쿼리 데이터 웨어하우스로 가져오고, 데이터 웨어하우스로부터 데이터를 추출할 필요가 없다. 

IBM Db2 웨어하우스 
IBM Db2 웨어하우스 온 클라우드(IBM Db2 Warehouse on Cloud)는 관리형 퍼블릭 클라우드 서비스이다. IBM Db2 웨어하우스는 자체 하드웨어를 이용해 온프레미스로, 또는 프라이빗 클라우드에서 설치할 수 있다. 데이터 웨어하우스로서 이는 온라인 애널리틱스 처리를 위한 컬럼 테이블, 인-메모리 데이터 처리 등의 기능을 포함한다. IBM의 네테자(Netezza) 기술은 쿼리를 데이터로 효율적으로 가져오도록 설계된 일련의 강력한 애널리틱스를 제공한다. 다양한 라이브러리와 기능은 정밀한 통찰을 가능하게 한다.

Db2 웨어하우스는 파이썬, R, SQL 언어로 인-데이터 머신러닝을 지원한다. IDAX 모듈은 애널리티컬 저장 프로시저를 포함한다. 예를 들어 가변성 분석, 연상 규칙, 데이터 변환, 결정 트리, 진단 대책, 범주화 및 모멘트, K 평균 군집화, k 최근접 이웃, 선형 회귀, 메타데이터 관리, 나이브 베이즈 분류, 주 성분 분석, 확률 분포, 무작위 샘플링, 회귀 트리, 순차 패턴 및 규칙, 파라미터 및 비-파라미터 통계 등이다.

요약 : IBM Db2 웨어하우스는 광범위한 인-데이터베이스 SQL 애널리틱스 집합을 포함한다. 예를 들어, 기본 머신러닝 기능, R 및 파이썬의 인-데이터베이스 지원 등이다.

키네티카 
키네티카 스트리밍 데이터 웨어하우스(Kinetica Streaming Data Warehouse)는 역사적 및 스트리밍 데이터 분석과 위치 인텔리전스/AI를 단일 플래폼에서 결합한다. 이들은 모두 API와 SQL을 통해 액세스할 수 있다. 키네티카는 매우 빠른 분산형, 컬럼식, 메모리-퍼스트 GPU 가속 데이터 베이스이고, 필터링, 시각화, 취합 기능을 제공한다. 

키네티카는 머신러닝 모델 및 알고리즘을 데이터와 통합해 대규모 실시간 예측 애널리틱스를 이행한다. 이는 데이터 파이프라인을 간소화하고, 애널리틱스, 머신러닝 모델, 데이터 엔지니어링의 수명 주기를 합리화하고, 스트리밍 데이터의 기능을 계산한다. 키네티카는 GPU로 가속되는 머신러닝의 전체 수명주기 솔루션을 제공한다. 다시 말해 키네티카 플랫폼 내 관리형 주피터 노트북, RAPIDS을 통한 모델 훈련, 자동화된 모델 전개 및 추론이다.

요약 : 키네티카는 GPU로 가속되는 머신러닝을 위한 종합적인 인-데이터베이스 수명 주기 솔루션을 제공하고, 스트리밍 데이터로부터 기능을 계산할 수 있다. 

마이크로소프트 SQL 서버 
마이크로소프트 SQL 서버 머신러닝 서비스(Microsoft SQL Server Machine Learning Service)는 R, 파이썬, 자바, PREDICT T-SQL 명령, rx_Predict 저장 시저를 SQL 서버 RDBMS 에서 지원하고 스파크ML을 SQL 서버 빅 데이터 클러스터에서 지원한다. R 및 파이썬 언어의 경우 머신러닝을 위해 몇몇 패키지와 라이브러리가 추가되었다. 훈련된 모델은 데이터베이스에, 또는 외부적으로 저장할 수 있다. 애저 SQL 매니지드 인스턴스(Azure SQL Managed Instance)는 파이썬 및 R용 머신러닝 서비스를 프리뷰로 제공한다.

마이크로소프트 R은 메모리 내에서, 그리고 디스크로부터 데이터를 처리할 수 있는 확장 프로그램이 있다. SQL 서버는 R, 파이썬, 및 자바 코드가 SQL 서버 데이터 및 함수를 이용할 수 있는 익스텐션 프레임워크(extension framework)를 제공한다. SQL 서버 빅 데이터 클러스터는 쿠버네티스에서 SQL 서버, 스파크, HDFS를 실행한다. SQL 서버가 파이썬 코드를 호출할 때 이는 차례로 애저 머신러닝을 발동시키고 결과적인 모델을 예측에 쓰기 위해 데이터베이스에 저장한다.
 
요약 : 현행 SQL 서버 버전은 여러 프로그래밍 언어로 머신러닝 모델을 훈련시키고 추론할 수 있다. 

오라클 데이터베이스 
오라클 클라우드 인프라 데이터 사이언스(Oracle Cloud Infrstructure(OCI) Data Science)는 데이터 과학 팀이 오라클 클라우드 인프라를 (예. 오라클 오토너머스 데이터베이스, 오라클 오토너머스 데이터 웨어하우스 등) 이용해 머신러닝 모델을 구축하고 훈련하고 관리할 수 있는 관리형 서버리스 플랫폼이다. 

이는 오픈소스 커뮤니티가 개발한 파이썬 위주의 툴, 라이브러리, 패키지를 포함하고, 아울러 오라클 액셀러레이티드 데이터 사이언스(Oracle Accelerated Data Science, ADS) 라이브러리는 예측 모델의 엔드-투-엔드 수명 주기를 지원한다.

•    데이터 입수, 프로파일링, 준비, 시각화
•    피처 엔지니어링
•    모델 훈련(오라클 오토ML 등)
•    모델 평가, 설명 및 해석 (오라클 MLX 등)
•    오라클 펑션즈(Oracle Functions)로의 모델 전개 

오라클 데이터 사이언스는 펑션즈(Functions), 데이터 플로우(Data Flow), 오토너머스 데이터 웨어하우스(Autonomous Data Warehouse), 오브젝트 스토리지(Object Storage) 등 나머지 오라클 크라우드 인프라 스택을 통합한다. 

현재 지원되는 모델은 아래와 같다. 

•    오라클 오토ML(Oracle AutoML)
•    케라스(Keras)
•    사이키트-런(Scikit-learn)
•    XG부스트(XGBoost)
•    ADS튜너(ADSTuner)(하이퍼파라미터 튜닝)

ADS는 또한 머신러닝 설명성(machine learning explainability, MLX)을 지원한다. 
요약 : 오라클 클라우드 인프라는 데이터 웨어하우스, 오브젝트 스토어, 펑션즈와 통합된 데이터 사이언스 리소스를 호스팅할 수 있고, 따라서 종합 모델 개발 수명주기를 허용한다. 

버티카 
버티카 애널리틱스 플랫폼(Vertica Analytics Platform)은 확장형 컬럼 스토리지 데이터 웨어하우스이다. 이는 두 가지 모드로 작용한다. 엔터프라이즈는 데이터베이스를 구성하는 노드의 파일 시스템에 데이터를 로컬로 저장하고, EON은 전체 컴퓨터 노드를 위해 데이터를 공동으로 저장한다.

버티카는 대규모 병렬 프로세싱으로 페타바이트의 데이터를 처리하고, 데이터 병렬화로 내부 머신러닝을 수행한다. 이는 8개의 빌트-인 데이터 준비 알고리즘, 3개의 회귀 알고리즘, 4개의 분류 알고리즘, 2개의 클러스터링 알고리즘, 몇 가지 모델 관리 함수, 그리고 다른 곳에서 훈련된 텐서플로우, PMML 모델을 가져오는 능력을 가지고 있다. 일단 모델이 완성되거나 유입되면 이를 예측에 사용할 수 있다. 또한 버티카는 C++, 자바, 파이썬, R로 프로그래밍 된 이용자 정의 익스텐션을 허용한다. 훈련 및 추론을 위해서는 SQL 구문을 이용한다. 

요약 : 버티카는 우수한 빌트인 머신러닝 알고리즘 집합을 보유하고, 텐서플로우 및 PMML 모델을 유입시킬 수 있다. 유입된 모델이나 자체 모델로부터 예측을 수행할 수 있다. 
 
---------------------------------------------------------------
머신러닝 How To 인기기사
->'AI 인재 채용부터 팀 운영까지' CIO 체크리스트
->그때그때 달라요··· 머신러닝 기법·기술 따라잡기
->'데이터 넣으면 인텔리전스 반환'··· '머신러닝 파이프라인'의 이해
->우리 회사는 AI·머신러닝에 준비돼 있을까?··· '10가지 체크리스트'
->머신러닝을 시작하는 방법, '텐서플로우 통해 머신러닝을 기업 DNA에 각인시켜라'
->요즘 화제 '챗봇'··· CMO가 알아야 할 7가지
->지금 CIO가 머신러닝에 투자해야··· 왜? 어떻게?
->기계학습 구현을 쉽게!··· 머신러닝 프레임워크 13종
->'IT업무도 AI가···' CIO는 무엇을 준비해야 하나

---------------------------------------------------------------
 
마인즈DB 
데이터베이스가 이미 내부 머신러닝을 지원하고 있는 것이 아니라면 마인즈DB(MindsDB)를 이용해 이를 추가할 가능성이 있다. 이는 6가지 데이터베이스, 5가지 BI 툴과 통합된다. 지원되는 데이터베이스는 마리아DB(MariaDB), 마이SQL, 포스트그레SQL, 클릭하우스(ClickHouse), 마이크로소프트 SQL 서버, 스노우플레이크(Snowflake)이고, 몽고DB는 현재 통합이 진행 중이고, 스트리밍 데이터베이스와의 통합은 2021년 후반으로 예정되어 있다. 현재 지원되는 BI 툴은 SAS, 큘릭 센스(Qlik Sense), 마이크로소프트 파워BI, 루커(Looker), 도모(Domo)이다.

마인즈DB는 오토ML, AI 테이블, 설명 가능 AI(XAI)를 특징으로 한다. 오토ML 훈련은 마인즈DB 스튜디오, SQL INSERT 명령문, 파이썬 API 호출로 가능하다. 훈련은 선택적으로 GPU를 이용할 수 있고, 선택적으로 시계열 모델을 생성할 수 있다. 

모델은 데이터베이스 테이블로 저장될 수 있고, SQL SELECT 명령문, 마인즈DB 스튜디오, 파이썬 API 호출에 의해 호출할 수 있다. 마인즈DB 스튜디오는 모델 품질을 평가하고 설명하고 시각화 할 수 있다. 

또한 마인즈DB 스튜디오와 파이썬 API를 로컬 및 원격 데이터 소스로 연결할 수 있다. 마인즈DB는 파이토치 상에서 실행되는 단순 딥 러닝 프레임워크인 라이트우드(Lightwood)를 추가적으로 제공한다. 

요약 : 마인즈DB는 빌트-인 머신러닝 지원이 결여된 여러 데이터베이스로 유용한 머신러닝 기능을 가져온다. 

내부 머신러닝 이행을 지원하는 데이터베이스가 많아지고 있다. 메커니즘은 상이하고, 역량도 차이가 있다. 데이터가 너무 많다면 샘플 서브셋 상에서 모델을 적응시켜야 할 수 있지만, 위에 나열된 8가지 데이터베이스와 마인즈DB의 지원을 받는 데이터베이스는 데이터 내보내기의 큰 부담 없이 전체 데이터세트로부터 모델을 구축할 수 있다. 

* 인포월드 기고 편집자이자 리뷰어인 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.