알리바바 클라우드 MaxCompute
알리바바 클라우드 MaxCompute는 알리바바 클라우드 빅데이터 (big data) 컴퓨팅 서비스로 빠르고 안전하게 GB/ TB/ PB 단위까지 수용 가능한 data warehouse 솔루션이다.
데이터베이스(Database)와 데이터 웨어하우스(Data Warehouse)의 차이는?
Database는 비즈니스의 특정 혹은 일부 부분에 대한 실시간 정보를 저장한다. 주요 업무는 회사에서 수행하는 일일 거래 (예 :판매 한 품목 기록)를 처리하여 방대한 양의 간단한 쿼리를 매우 빠르게 처리한다.
Data Warehouse는 보고 및 분석을 위해 조직 내 여러 소스에서 데이터를 가져 오는 시스템이다. Data Warehouse는 데이터를 수집 및 분석하여 정보에 입각한 비즈니스 의사결정을 할 수 있도록 비즈니스에 대한 기록 데이터 (historical data)를 저장하며, 일반 database와는 다르게 실시간 정보를 저장하지 않으며 실시간으로 업데이트 되지 않는다.
결론적으로, database는 회사에서 수행하는 거래 데이터를 수집하며 읽기 및 쓰기 액세스(read/write access)에 최적화 되어 있으며 data warehouse는 여러 database에서 집계 된 데이터를 분석 목적으로 변환 및 저장하며 대용량 데이터 세트의 분석 및 불러오기에 최적화 되어 있다.
알리바바 클라우드 MaxCompute는?
알리바바 클라우드 MaxCompute는 data warehouse solution으로 주로 구조화(structured) 된 일련의 데이터를 저장하고 분석하는데 사용된다.
MaxCompute는 data warehouse solution부터 big data 분석 및 모델링 서비스까지 다양한 기능을 제공한다. 데이터 수집 기술이 점차 다양해지고 발전하면서 기업은 점점 더 많은 양의 데이터를 축적하고 있다. 일반 기업이 보통 수집하는 데이터의 규모는 기존 software database가 감당 할 수 없는 대규모 데이터 (100GB, TB 및 PB) 수준으로 증가했으며 이러한 대량의 데이터 양을 감안할 때 단일 서버의 제한된 처리 용량으로 인해 DB 분석가는 분산 컴퓨팅 (distributed computing)으로 전환해야 했다.
그러나 분산 컴퓨팅 모델은 유지 관리가 쉽지 않으며 또한 수준 높은 데이터 분석가를 요구한다. 하지만 MaxCompute는 대용량의 데이터를 편리하게 분석하고 처리 할 수 있는 방법을 제공함으로 분산 컴퓨팅의 세부 사항을 신경 쓰지 않고도 대용량 데이터를 분석 할 수 있다.
알리바바 클라우드 MaxCompute의 기능은?
-
데이터 터널 (Data tunnel)
– 대량의 기록 데이터 (historical data) 채널 지원
TUNNEL은 동시간 데이터 업로드 및 다운로드 서비스를 제공한다. 이 서비스는 매일 terabyte 또는 petabyte의 데이터 업로드 및 다운로드를 지원하며, 전체 데이터 또는 기록 데이터를 불러오는데 특히 유용하다. TUNNEL은 Java 프로그래밍 인터페이스를 제공하며 MaxCompute 클라이언트 툴(tool)에는 로컬 파일 및 서비스 데이터 교환을 위한 명령(commands)이 있다.
– 실시간 및 중분(incremental) 데이터 채널 지원
실시간 데이터 업로드 시나리오의 경우 MaxCompute는 낮은 레이턴시와 사용이 손쉬운 DataHub 서비스를 제공한다. 중분(incremental) 데이터를 불러오는데 특히 적합하며 또한 DataHub는 Logstash, Flume, Fluentd 및 Sqoop과 같은 다양한 데이터 전송 플러그인을 제공하며 데이터베이스 로그(log)를 지원한다. 데이터의 로그를 MaxCompute로 보낸 다음 DataWorks를 사용하여 로그 분석 및 마이닝을 수행 할 수 있다.
-
컴퓨팅 및 분석 작업
– SQL: MaxCompute에서 데이터는 테이블에 저장된다. MaxCompute는 외부 인터페이스에 대한 SQL 쿼리 기능을 제공하며 기존 데이터베이스 소프트웨어와 유사하지만 PB 수준의 데이터를 처리 할 수 있다.
– MapReduce: MaxCompute에서 제공하는 Java MapReduce 프로그래밍 모델로 Java 프로그래밍 인터페이스를 사용하여 개발 프로세스를 단순화하도록 설계되어 있다.
– Graph: MaxCompute의 Graph는 그래프 컴퓨팅을 위해 설계된 프로세싱 프레임워크 (processing framework) 입니다. 그래프는 edge와 vertical로 구성되어 있으며 데이터 값이 포함되어 데이터에 대한 최종 결과를 볼 수 있다.
[출처]
https://www.dremio.com/what-is-a-data-warehouse/
https://www.datamounts.com/alibaba-cloud-dataworks-data-integration/