이론/빅데이터 분석
빅데이터 - 분석 기획 - 빅데이터의 이해 - 빅데이터 플랫폼
luvris2
2023. 2. 13. 13:09
반응형
빅데이터 플랫폼
- 빅데이터 수집부터 저장, 처리, 분석 등 전 과정을 통합적으로 제공
- 제공된 기술들을 잘 사용할 수 있도록 준비된 환경
- 빅데이터를 분석 또는 활용하는데 필요한 필수적인 것, 빅데이터 기술의 집합체
빅데이터 플랫폼의 등장배경
- 비즈니스 요구사항 변화
- 빠른 의사결정 속도보다 장기적이고 전략적인 접근 필요
- 초저가의 대규모 프로세싱과 클라우드 컴퓨팅 기반의 분석 환경 등장
- 데이터 규모와 처리 복잡도 증가
- 다양한 형태의 데이터 수집과 복잡한 로직을 이용한 대용량 처리 필요
- 분산 처리가 불가피하며 이를 제어할 수 있는 고도의 기술 필요
- 데이터 구조의 변화와 신속성 요구
- SNS 데이터나 로그 파일, 스트림 데이터 등 비정형 데이터의 비중과 실시간 처리에 대한 높은 요구
- 약한 관계형 스키마나 반정형 데이터와 같은 정형적이지 않은 데이터 증가
- 데이터 분석 유연성 증대
- 기존의 통계적 분석방법과 같이 정해진 절차와 과정을 따르지 않아도 분석 목적에 맞게 유연한 분석 가능
- 인공지능 기술의 발전으로 다양한 방법론을 통해 텍스트, 음성, 이미지, 동영상 등 다양한 요소 분석 가능
빅데이터 플랫폼의 기능
- 빅데이터를 처리하는 과정에서 불가피한 부하 발생을 빅데이터 플랫폼을 통해 기술적인 요소들을 결합하여 해소
부하 내용 | 빅데이터 처리시 부하 발생 사유 | 빅데이터 플랫폼 사용 |
컴퓨팅 부하 발생 | 연산과정에서 CPU, GPU, 메모리 등을 사용하며 부하 발생 | CPU 성능 향상 및 클러스터에서의 효과적인 자원 할당을 통해 부하 제어 |
저장 부하 발생 | 처리 과정에서 입력 데이터, 중간 가공 데이터, 출력 데이터 등 여러 단계에서 부하 발생 | 파일 시스템 개선, 메모리와 파일 시스템의 효과적인 사용 및 데이터베이스 성능 향상으로 제어 |
네트워크 부하 발생 | 처리 과정에서 분산처리를 하고자 할 때 노드 간 통신 과정에서 부하 발생 | 대역폭의 효과적 분배 및 네트워크상에서 최단거리에 위치한 노드를 탐색하여 제어 |
* 클러스터(Cluster) : 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터의 집합
* 노드(Node) : 지역 네트워크에 연결된 컴퓨터와 그 안에 속한 장비들을 통틀어 일컫는 용어, 자료구조에서는 데이터의 기본 단위를 의미
빅데이터 플랫폼의 조건
- 서비스 사용자와 제공자 어느 한쪽에 치우쳐서는 안되며 모두가 만족 할 수 있는 환경을 제공
서비스 사용자 측면에서의 체크리스트
- 주어진 문제를 해결하기에 충분한 요소들을 제공하는 환경인가? - 편리한 사용자 인터페이스(UI)를 제공하는가? |
서비스 제공자 측면에서의 체크리스트
- 성능적인 문제가 발생하지 않도록 충분한 관리 기능을 제공하는가? - 사용자 접속 및 인증을 관리할 수 있는 기능을 제공하는가? - 효율적인 운영을 위한 자원 관리 기능을 제공하는가? - 서비스 품질 관리를 위한 각종 지표들을 충분히 제공하는가? - 안전한 서비스 제공을 위한 보안적인 요소들을 갖추고 있는가? - 플랫폼 도입을 통해 비용 절감을 이룰 수 있는가? |
빅데이터 플랫폼의 구조
소프트웨어 계층
- 빅데이터 애플리케이션을 구성
- 데이터 처리 및 분석과 이를 위한 데이터 수집, 정제
컴포넌트 | 설명 | |
데이터 처리 및 분석 엔진 | 데이터를 처리하고 분석 | |
데이터 처리 및 분석 | 서비스에 따른 데이터 처리 및 분석 수행 | |
처리 및 분석 워크플로우 구성 | 데이터 처리 및 분석을 위한 워크플로우 구성 | |
데이터 표현 | 데이터 처리 및 분석 결과 표현 | |
데이터 수집 및 정제 모듈 | 빅데이터 분석 엔진을 위한 데이터를 수집하고 정제 | |
데이터 추출 | 원천 데이터에서 데이터 추출 | |
데이터 변환 | 원천 데이터에서 추출한 데이터를 변환하고 균질화 및 정제 | |
데이터 적재 | 변환한 데이터를 데이터 웨어하우스로 적재 | |
서비스 관리 모듈 | 소프트웨어 계층에서 제공하는 서비스 관리 | |
사용자 관리 모듈 | 사용자 관리 | |
인증 및 접속 관리 | 사용자별 인증과 접속 관리 | |
사용자 서비스 관리 | 사용자별 서비스 관리 | |
SLA 관리 | 사용자별 서비스 수준 협약 관리 | |
모니터링 모듈 | 플랫폼 및 인프라 스트럭처 서비스 사용성과 성능 모니터링 | |
보안 모듈 | 소프트웨어 계층의 보안 관리 |
플랫폼 계층
- 빅데이터 어플리케이션을 실행하기 위한 플랫폼 제공
- 작업 스케줄링이나 데이터 및 자원 할당과 관리, 프로파일링 등 수행
컴포넌트 | 설명 | |
사용자 요청 파싱 | 사용자가 요청한 내용 파싱 | |
작업 스케줄링 모듈 | 사용자 애플리케이션 실행 작업 스케줄링 | |
데이터 및 자원 할당 모듈 | 사용자 애플리케이션을 실행하는 데이터와 자원 할당 | |
초기 데이터 할당 | 사용자 애플리케이션을 실행하는 사용자의 데이터 초기 할당 | |
데이터 재할당 및 복제 | 동적인 상황을 고려하여 데이터 재할당 및 복제 | |
초기 자원 할당 | 사용자 애플리케이션을 실행하는 인프라 스트럭처의 자원 초기 할당 | |
자원 재할당 및 스케일링 | 동적인 상황을 고려하여 자원을 재할당 및 스케일링 | |
프로파일링 모듈 | 자원 및 애플리케이션 프로파일링 또는 시뮬레이션 | |
자원 프로파일링 | 인프라 스트럭처 자원을 할당하는 인프라 스트럭처 자원 프로파일링 | |
애플리케이션 프로파일링 | 인프라 스트럭처 자원을 할당하는 사용자 애플리케이션 프로파일링 | |
애플리케이션 시뮬레이션 | 인프라 스트럭처 자원 선택 및 구성을 하는 사용자 애플리케이션 시뮬레이션 | |
데이터 관리 모듈 | 사용자 데이터 관리 | |
자원 관리 모듈 | 인프라 스트럭처 자원 관리 | |
서비스 관리 모듈 | 플랫폼 계층에서 제공하는 서비스 관리 | |
사용자 관리 모듈 | 사용자 관리 | |
인증 및 접속 관리 | 사용자 별 인증과 접속 관리 | |
사용자 서비스 관리 | 사용자별 서비스 관리 | |
SLA 관리 | 사용자별 서비스 수준 협약 관리 | |
모니터링 모듈 | 인프라 스트럭처 서비스 가용성과 성능 모니터링 | |
보안 모듈 | 소프트웨어 계층 보안 관리 |
* SLA(Service Level Agreement) : 서비스 제공업체와 고객간 맺는 서비스 품질에 대한 계약, 사전에 정의된 수준의 서비스가 제공될 수 있게 품질 보장
* 프로파일링 :속도 및 최적화에 중점, CPU와 메모리 사용량 및 실행 시간 등을 추적하는 것
인프라 스트럭처 계층
- 자원 배치와 스토리지 관리, 노드 및 네트워크 관리 등을 통해 빅데이터 처리와 분석에 필요한 자원 제공
컴포넌트 | 설명 | |
사용자 요청 파싱 | 사용자가 요청한 내용 파싱 | |
자원 배치 모듈 | 사용자가 제공할 자원 배치 | |
초기 자원 배치 | 사용자에게 제공하는 자원 초기 배치 | |
자원 재배치 및 스케일링 | 동적인 상황을 고려하여 자원 재배치 및 스케일링 | |
노드 관리 모듈 | 인프라 스트럭처 내의 노드 관리 | |
데이터 관리 모듈 | 인프라 스트럭처 내의 스토리지 관리 | |
네트워크 관리 모듈 | 인프라 스트럭처 내외의 네트워크 관리 | |
서비스 관리 모듈 | 인프라 스트럭처 계층에서 제공하는 서비스 관리 | |
사용자 관리 모듈 | 사용자 관리 | |
인증 및 접속 관리 | 사용자별 인증과 접속 관리 | |
사용자 서비스 관리 | 사용자별 서비스 관리 | |
SLA 관리 | 사용자별 서비스 수준 협약 관리 | |
모니터링 모듈 | 서비스 모니터링 | |
서비스 모니터링 | 서비스 가용성과 성능 모니터링 | |
자원 모니터링 | 노드, 스토리지, 네트워크 등 자원 가용성과 성능 모니터링 | |
보안 모듈 | 소프트웨어 계층의 보안 관리 |
참고
반응형