대용량 데이터 처리 아키텍처
대용량 데이터 처리 아키텍처
개요
Samsung Cloud Platform에서는 분석 전용 Database인 Vertica(DBaaS)를 활용하여 DW형 Database Service를 제공합니다. Vertica 서비스는 Vertica 클러스터를 쉽고 간편하게 구축하고 관리할 수 있는 서비스로, 클러스터에 대한 정보 및 상태를 관리할 수 있는 UI를 제공합니다.
Vertica는 Masterless Pure-MPP(Massively Parallel Processing) 아키텍처로 설계되어 대용량 데이터를 병렬로 빠르게 분석하기에 적합하며, In-DB 머신 러닝 및 고급 분석 기능을 포함하고 있습니다. 기준 정보는 물론 금융, 헬스, 모니터링, 이벤트 발생 정보 등을 저장하며, 다양한 분석 기능을 활용하여 사용자가 원하는 정보를 빠르고 신속하게 추출 및 분석할 수 있습니다.
향후에는 Object Storage 또는 HDFS와 같은 다양한 데이터 저장소를 사용하여 언제 어디서든 쉽게 추출하여 분석할 수 있습니다.
아키텍처 다이어그램
- 사용자가 다양한 서비스(금융, 병원, 이벤트)를 이용한다.
- 서비스 지속성을 위해 RDB는 HA, NoSQL은 Cluster로 구성하여 사용자가 원하는 다양한 데이터를 저장한다.
- Cache 서비스인 CacheStore를 이용하여 콘텐츠를 사용자에게 빠르게 제공하고, 세션 정보를 저장하여 처리 시간을 단축한다.
- 메시지 서비스인 Event Streams를 이용하여 실시간 또는 배치로 목적에 맞는 Target 저장소로 데이터를 전송한다.
- Elastic Stack를 활용하여 여러 시스템에서 데이터를 수집(Logstash)하고, 분석 및 검색(Search Engine)하며, 시각화 기능(Kibana)을 활용하여 다양한 정보를 제공한다.
- RDB 및 NoSQL 등에 저장된 데이터를 배치를 통해 **Vertica(DBaaS)**로 전송하여 저장한다.
- **Vertica(DBaaS)**에 저장된 다양한 데이터를 활용하여 분석한다.
- Object Storage 또는 HDFS에 저장된 데이터 또한 **Vertica(DBaaS)**로 연계하여 데이터 분석이 가능하다.
사용 사례
모니터링 시스템 구축
주기적으로 수십 대 이상의 서버를 점검하여 이상 징후를 분석해야 할 경우, 각 서버 내 수집 Agent를 활용하여 서버의 다양한 정보(서버 설정 정보, 시스템 로그, SW 설치 정보, 보안 정보 등)를 수집하여 저장합니다.
사전에 정의한 이상 징후 패턴과 mapping하여 문제가 되는 대상을 선정할 수 있습니다.
데이터 중심 병원
계약 관계에 있는 여러 병원의 환자의 진료 내역(병명, 발생 부위, 일반적인 증상, 특이 사항, 치료 현황 등)을 한 곳에서 저장합니다.
환자가 내원하였을 경우 증상을 기반으로 진단을 빠르게 할 수 있고, 치료 현황과 방법 등을 환자에게 제공할 수 있습니다.
선결 사항
Vertica 서비스 구축을 위해서는 **고객 라이선스 사용(BYOL)**이 필요합니다.
제약 사항
Vertica(DBaaS)에 대한 백업은 최초 Full 백업 이후 증분(Incremental Snapshot) 백업하는 방식으로 특정 시점(Snapshot)으로 복구 기능을 제공합니다(Transaction Log 방식 아님).
고려 사항
Vertica의 라이선스에 따라 데이터 용량에 제약이 있으며, 서비스 이용 중 갑작스럽게 데이터가 증가할 경우 문제가 될 수 있습니다. 사전에 저장하고자 하는 데이터 용량을 충분히 산정한 후 라이선스 구매가 필요합니다.
관련 서비스
본 가이드에서 설명하는 기능 또는 구성과 연결되는 Samsung Cloud Platform의 서비스 목록입니다. 서비스 선택 및 설계 시에 참고하세요.
| 서비스군 | 서비스 | 상세 설명 |
|---|---|---|
| Database | PostgreSQL(DBaaS) | 웹 환경에서 오픈소스 PostgreSQL을 간편하게 생성하고 관리하는 서비스 |
| Database | MySQL(DBaaS) | 작지만 강력한 오픈소스 관계형 데이터베이스 MySQL을 간편하게 생성하고 관리하는 서비스 |
| Database | CacheStore | 빠른 데이터 처리 능력의 Key-value 인메모리 데이터 스토어 |
| Storage | Object Storage | 데이터 저장 및 검색에 용이한 객체 스토리지 |
| Data Analytics | Event Stream | Apache Kafka 클러스터를 생성/관리하는 서비스 |
| Data Analytics | Search Engine | 웹 환경에서 Elasticsearch를 간편하게 생성하고 관리하는 서비스 |
