빅데이터 - 분석 기획 - 빅데이터의 이해 - 빅데이터 플랫폼

 

 

빅데이터 플랫폼

  • 빅데이터 수집부터 저장, 처리, 분석 등 전 과정을 통합적으로 제공
  • 제공된 기술들을 잘 사용할 수 있도록 준비된 환경
  • 빅데이터를 분석 또는 활용하는데 필요한 필수적인 것, 빅데이터 기술의 집합체

빅데이터 플랫폼의 등장배경

  • 비즈니스 요구사항 변화
    • 빠른 의사결정 속도보다 장기적이고 전략적인 접근 필요
    • 초저가의 대규모 프로세싱과 클라우드 컴퓨팅 기반의 분석 환경 등장
  • 데이터 규모와 처리 복잡도 증가
    • 다양한 형태의 데이터 수집과 복잡한 로직을 이용한 대용량 처리 필요
    • 분산 처리가 불가피하며 이를 제어할 수 있는 고도의 기술 필요
  • 데이터 구조의 변화와 신속성 요구
    • SNS 데이터나 로그 파일, 스트림 데이터 등 비정형 데이터의 비중과 실시간 처리에 대한 높은 요구
    • 약한 관계형 스키마나 반정형 데이터와 같은 정형적이지 않은 데이터 증가
  • 데이터 분석 유연성 증대
    • 기존의 통계적 분석방법과 같이 정해진 절차와 과정을 따르지 않아도 분석 목적에 맞게 유연한 분석 가능
    • 인공지능 기술의 발전으로 다양한 방법론을 통해 텍스트, 음성, 이미지, 동영상 등 다양한 요소 분석 가능

빅데이터 플랫폼의 기능

  • 빅데이터를 처리하는 과정에서 불가피한 부하 발생을 빅데이터 플랫폼을 통해 기술적인 요소들을 결합하여 해소
부하 내용 빅데이터 처리시 부하 발생 사유 빅데이터 플랫폼 사용
컴퓨팅 부하 발생 연산과정에서 CPU, GPU, 메모리 등을 사용하며 부하 발생 CPU 성능 향상 및 클러스터에서의 효과적인 자원 할당을 통해 부하 제어
저장 부하 발생 처리 과정에서 입력 데이터, 중간 가공 데이터, 출력 데이터 등 여러 단계에서 부하 발생 파일 시스템 개선, 메모리와 파일 시스템의 효과적인 사용 및 데이터베이스 성능 향상으로 제어
네트워크 부하 발생 처리 과정에서 분산처리를 하고자 할 때 노드 간 통신 과정에서 부하 발생 대역폭의 효과적 분배 및 네트워크상에서 최단거리에 위치한 노드를 탐색하여 제어

* 클러스터(Cluster) : 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터의 집합

* 노드(Node) : 지역 네트워크에 연결된 컴퓨터와 그 안에 속한 장비들을 통틀어 일컫는 용어, 자료구조에서는 데이터의 기본 단위를 의미


빅데이터 플랫폼의 조건

  • 서비스 사용자와 제공자 어느 한쪽에 치우쳐서는 안되며 모두가 만족 할 수 있는 환경을 제공

서비스 사용자 측면에서의 체크리스트

- 주어진 문제를 해결하기에 충분한 요소들을 제공하는 환경인가?
- 편리한 사용자 인터페이스(UI)를 제공하는가?

서비스 제공자 측면에서의 체크리스트

- 성능적인 문제가 발생하지 않도록 충분한 관리 기능을 제공하는가?
- 사용자 접속 및 인증을 관리할 수 있는 기능을 제공하는가?
- 효율적인 운영을 위한 자원 관리 기능을 제공하는가?
- 서비스 품질 관리를 위한 각종 지표들을 충분히 제공하는가?
- 안전한 서비스 제공을 위한 보안적인 요소들을 갖추고 있는가?
- 플랫폼 도입을 통해 비용 절감을 이룰 수 있는가?

빅데이터 플랫폼의 구조

소프트웨어 계층

  • 빅데이터 애플리케이션을 구성
  • 데이터 처리 및 분석과 이를 위한 데이터 수집, 정제

컴포넌트 설명
데이터 처리 및 분석 엔진 데이터를 처리하고 분석
데이터 처리 및 분석 서비스에 따른 데이터 처리 및 분석 수행
처리 및 분석 워크플로우 구성 데이터 처리 및 분석을 위한 워크플로우 구성
데이터 표현 데이터 처리 및 분석 결과 표현
데이터 수집 및 정제 모듈 빅데이터 분석 엔진을 위한 데이터를 수집하고 정제
데이터 추출 원천 데이터에서 데이터 추출
데이터 변환 원천 데이터에서 추출한 데이터를 변환하고 균질화 및 정제
데이터 적재 변환한 데이터를 데이터 웨어하우스로 적재
서비스 관리 모듈 소프트웨어 계층에서 제공하는 서비스 관리
사용자 관리 모듈 사용자 관리
인증 및 접속 관리 사용자별 인증과 접속 관리
사용자 서비스 관리 사용자별 서비스 관리
SLA 관리 사용자별 서비스 수준 협약 관리
모니터링 모듈 플랫폼 및 인프라 스트럭처 서비스 사용성과 성능 모니터링
보안 모듈 소프트웨어 계층의 보안 관리

플랫폼 계층

  • 빅데이터 어플리케이션을 실행하기 위한 플랫폼 제공
  • 작업 스케줄링이나 데이터 및 자원 할당과 관리, 프로파일링 등 수행

컴포넌트 설명
사용자 요청 파싱 사용자가 요청한 내용 파싱
작업 스케줄링 모듈 사용자 애플리케이션 실행 작업 스케줄링
데이터 및 자원 할당 모듈 사용자 애플리케이션을 실행하는 데이터와 자원 할당
초기 데이터 할당 사용자 애플리케이션을 실행하는 사용자의 데이터 초기 할당
데이터 재할당 및 복제 동적인 상황을 고려하여 데이터 재할당 및 복제
초기 자원 할당 사용자 애플리케이션을 실행하는 인프라 스트럭처의 자원 초기 할당
자원 재할당 및 스케일링 동적인 상황을 고려하여 자원을 재할당 및 스케일링
프로파일링 모듈 자원 및 애플리케이션 프로파일링 또는 시뮬레이션
자원 프로파일링 인프라 스트럭처 자원을 할당하는 인프라 스트럭처 자원 프로파일링
애플리케이션 프로파일링 인프라 스트럭처 자원을 할당하는 사용자 애플리케이션 프로파일링
애플리케이션 시뮬레이션 인프라 스트럭처 자원 선택 및 구성을 하는 사용자 애플리케이션 시뮬레이션
데이터 관리 모듈 사용자 데이터 관리
자원 관리 모듈 인프라 스트럭처 자원 관리
서비스 관리 모듈 플랫폼 계층에서 제공하는 서비스 관리
사용자 관리 모듈 사용자 관리
인증 및 접속 관리 사용자 별 인증과 접속 관리
사용자 서비스 관리 사용자별 서비스 관리
SLA 관리 사용자별 서비스 수준 협약 관리
모니터링 모듈 인프라 스트럭처 서비스 가용성과 성능 모니터링
보안 모듈 소프트웨어 계층 보안 관리

* SLA(Service Level Agreement) : 서비스 제공업체와 고객간 맺는 서비스 품질에 대한 계약, 사전에 정의된 수준의 서비스가 제공될 수 있게 품질 보장

* 프로파일링 :속도 및 최적화에 중점, CPU와 메모리 사용량 및 실행 시간 등을 추적하는 것


인프라 스트럭처 계층

  • 자원 배치와 스토리지 관리, 노드 및 네트워크 관리 등을 통해 빅데이터 처리와 분석에 필요한 자원 제공

컴포넌트 설명
사용자 요청 파싱 사용자가 요청한 내용 파싱
자원 배치 모듈 사용자가 제공할 자원 배치
초기 자원 배치 사용자에게 제공하는 자원 초기 배치
자원 재배치 및 스케일링 동적인 상황을 고려하여 자원 재배치 및 스케일링
노드 관리 모듈 인프라 스트럭처 내의 노드 관리
데이터 관리 모듈 인프라 스트럭처 내의 스토리지 관리
네트워크 관리 모듈 인프라 스트럭처 내외의 네트워크 관리
서비스 관리 모듈 인프라 스트럭처 계층에서 제공하는 서비스 관리
사용자 관리 모듈 사용자 관리
인증 및 접속 관리 사용자별 인증과 접속 관리
사용자 서비스 관리 사용자별 서비스 관리
SLA 관리 사용자별 서비스 수준 협약 관리
모니터링 모듈 서비스 모니터링
서비스 모니터링 서비스 가용성과 성능 모니터링
자원 모니터링 노드, 스토리지, 네트워크 등 자원 가용성과 성능 모니터링
보안 모듈 소프트웨어 계층의 보안 관리

참고