읽記 (데이터 과학, IT 분야)/빅데이터 시스템 구축 가이드

[빅데이터] 3. 빅데이터 시스템 아키텍처(1)

Light Pillar 2019. 11. 22. 23:37

빅데이터 시스템을 기능적인 측면에서의 구성방식을 살펴보는 장이다. 빅데이터 시스템을 구축하고자 할 때 고려해야할 사항들을 제시해 주고 있다.

어떤 목적으로, 어떤 데이터를, 어떻게 확보하고 저장할 것인지, 빅데이터 플랫폼의 종류는 어떠한 것들이 있는지, 어떤 특징이 있는지, 구축할 빅데이터 시스템에 대한 검증은 어떻게 해야 하는지, 검증을 위한 테스트 환경은 어떻게 구축하여야 하는지 등에 대한 내용을 소개하고 있다.

 

여기서는 빅데이터 자체의 확보와 관리, 시스템 구축을 통해 얻고자 하는 것에 대한 목적성을 살펴보고, 어떻게 어떤 방법으로 저장하여 관리할 것인지에 대한 내용까지 살펴보았다.

 


 

1. 빅데이터 거버넌스

거버넌스(Governance)란? 일반적으로 ‘과거의 일방적인 정부 주도적 경향에서 벗어나 정부, 기업, 비정부기구 등 다양한 행위자가 공동의 관심사에 대한 네트워크를 구축하여 문제를 해결하는 새로운 국정운영의 방식’을 말한다. 그렇지만 다양한 학문 분야에서 서로 다른 맥락으로 쓰이고 있어, 아직 정의에 대한 명확한 학문적 합의는 이루어지지 않았다고 볼 수 있다.

 

빅데이터 거버넌스는 빅데이터에 대한 체계적인 관리와 통제를 의미한다. 거버넌스에는 통제라는 의미도 포함되어 있지만, 효율적인 관리가 더 중요하다. 빅데이터 거버넌스가 필요한 이유는 빅데이터를 활용할 때 발생할 수 있는 위험(데이터 품질 관리, 프라이버스 보호, 데이터 수명 관리, 데이터 소유권 등)을 미리 예방하고 차단하기 위해서다.

 

큰 의미에서 빅데이터 거버넌스는 데이터 거버넌스에 포함되며, 데이터 거버넌스는 "고품질의 데이터 학보와 관리를 통해 정보 활용 극대화로 조직의 가치 창출에 기여하는 것"이다 할 수 있다.

 

빅데이터 거버넌스의 정보 요소

구분 내용
전담조직 빅데이터 관리자로 유형별 관리자, 빅데이터 전문가로 데이터 과학자로 구성
메타 데이터 빅데이터 시스템에 대한 메타 데이터 수집(표준화, 모델, 표준 절차 등)
메타 데이터의 저장, 관리를 위한 저장소 구성
대상 시스템에서 데이터 흐름 및 영향도 분석, 관리
프라이버시 민감한 개인정보에 대한 정책적 기준 필요
개인정보보호법에 따른 법률 준수와 안전행정부 규정 준수
데이터 품질 조직 데이터 품질 측정, 개선, 무결성 보장 등의 규정 수립
기존의 정형 데이터와 다르므로 상황별 기준이 필요
비즈니스 프로세스 통합 핵심 프로세스를 식별하여 거버넌스 지원 정책 수립
마스터 데이터 관리 빅데이터와 마스터 데이터의 통합 환경 구성
정보 생명주기 관리 데이터의 생성, 활용, 폐기의 생명주기 관리
미폐기 시 비용 증대, 폐기 시 기록 유지 및 거래 증명 난해

 

2. 빅데이터 시스템 아키텍처 수립 전략

빅데이터 시스템 아키텍처는 빅데이터를 위한 컴포넌트 집합체이자 상호작용이다.

 

빅데이터 시스템 아키텍처 기술

아키텍처 역량 구분 내용
저장 관리 HDFS
(Hardoop Distributed File System)
아파치 재단의 오픈소스 분산파일 시스템
일반 하드웨어에서 고성능 저장 관리 제공
높은 확장성과 장애 극복을 위해 3개의 노드에 자동으로 데이터 복제
자동 데이터 복제로 백업이 필요 없음
한 번의 쓰기와 여러 번 읽는 작업에 적합
Cloudera Manager Cloudera의 아파치 하둡 배포판을 위한 관리 애플리케이션
클러스터 확장 처리, 실시간 노드와 운영 서비스 모니터링 제공
데이터베이스 Hbase 랜덤 엑세스와 실시간 읽고 쓰기 지원
읽기와 쓰기의 일관성 유지
테이블 샤딩(수평 분할 등)으로 성능 향상
장애 시 서버간 자동 복구 지원
Cassandra 대량 데이터 갱신을 위한 컬럼 인덱스와 캐시 제공
데이터 복제본을 이웃 노드 혹은 임의의 노드에 저장
업데이트된 데이터는 동기적 혹은 비동기적으로 복제
프로세싱 MapReduce 2004년 구굴에서 논문으로 발표
데이터 집합을 작은 단위로 나누어 처리
여러 노드에서 데이터를 병렬 처리하여 부하를 분산
Hardoop MapReduce가 탑재된 오픈소스 플랫폼
확장을 위한 병렬 배치 프로세싱 제공
자유로운 커스터마이징 환경
장애 극복을 위해 클러스터에 여러 복사본 저장
데이터 통합 Export MapReduce 결과물을 RDBMS, 하둡 등으로 이전
Connect SQL 처리를 위한 RDBMS의 하둡 연결
GUI Hive 스크립트 생성을 위한 GUI(Graphic Usr Interface) 환경 제공
최적화 병렬 데이터 import / export의 최적화 처리
통계 분석 R 통계 분석을 위한 프로그래밍 언어
RDBMS 지원 오라클은 고성능 통계 분석을 위해 R을 지원
상호 호환성 오라클은 개발된 R 스크립트를 수정 없이 바로 사용하도록 호환성 제공
시스템 아키텍처(System Achitecture) 시스템이 어떻게 작동하는지를 설명하는 프레임워크다. 시스템 목적을 달성하기 위해 시스템의 각 컴포넌트가 무엇이며, 어떻게 상호작용하는지, 정보가 어떻게 교환되는지를 설명한다.

컴포넌트(Component) 재사용 가능한 특정 기능을 수행하는 소프트웨어 집합이다. 소프트웨어를 일종의 레고 블록처럼 재사용하는 게 목적이다.

분산 파일 시스템(Distributed File System) 컴퓨터 네트워크를 통해 공유하는 여러 컴퓨터의 파일에 접근할 수 있게 하는 파일 시스템

노드(Node) 네트워크에서 데이터 송신의 재분배점(예: 허브, 스위치 장비) 또는 끝점(예: 컴퓨터, 터미널)

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

Key-Value NoSQLDB의 자장 형태의 하나로 name(key)="홍길동"(value) 식의 저장을 한다.

샤딩(Sharding) DB에서 대량의 데이터를 처리하기 위해 데이터를 분할(파티셔닝)하는 기술로 수평 분할, 수직 분할 등이 있다.

동기(Synchronous) 요청과 그 결과가 동시에 일어나는 것으로 데이터를 변경할 때 바로 복제됨.

비동기(Asynchronous) 요청과 그 결과가 동시에 일어나지 않는 것으로 데이터를 변경할 때 일정 시간 이후 복제가 일어남.

배치 처리(Batch Processing) 컴퓨터 프로그램 흐름에 따라 차례대로 자료를 처리하는 방식

병렬 처리(Parallel Processing) 프로그램 명령어를 여러 프로세서에 분산시켜 동시에 수행함으로써 빠른 시간 내에 원하는 답을 구하는 작업

 

빅데이터 시스템 아키텍처

전통적 정보 시스템 아키텍처는 구조적 데이터의 논리적 정보를 가진다. 구조적 데이터(정형 데이터)는 RDB에 칼럼 단위로 저장할 수 있는 일정한 길이의 문자열이나 숫자를 말한다.

빅데이터 아키텍처는 Volume, Velocity, Variety와 Value의 특성이 있는 대용량 데이터를 처리햐야 하므로, NoSQL을 통한 실시간 처리와 MapReduce를 통한 목적에 맞는 데이터 필터링 작업의 배치 처리로 나뉜다.

데이터 웨어하우스는 구조적 데이터를 수집, 변경하는 통합 데이터베이스다.

 

정보 아키텍처에서 중요한 점은 데이터를 어떻게 보아야 하는가이다. 데이터는 가치, 비용, 리스크, 품질과 데이터 정확성 등을 통해 자산으로 다루어져야 한다. 데이터 자산화는 전통적 아키텍처와 빅데이터 아키덱처 모두에게 필요한 사항이다.

 

통합 정보 시스템 아키텍처는 전통적 정보 아키텍처와 빅데이터 아키텍처를 합친것으로, 수집 단계에서 형태에 따라 RDBMS, 파일 저장소, NoSQL DB와 하둡 HDFS 등 유형에 맞게 저장하고, 중간 단계에서 ETL, MapReduce 등의 작업으로 여러 종류의 데이터를 하나의 플랫폼에서 작업할 수 있게 한다. 분석 단계에서는 오라클 저장소나 CEP 엔진 등으로 분석작업을 하고, 보고서, 대시보드 와 시각화 등로 표현되거나 고급 분석, 텍스트 분석, 쿼리 등의 분석을 한다.

ETL 데이터 웨어하우스 구축 시 데이터을 운영 시스템에서 추출하여 가공(변환, 정제)한 후 데이터 웨어하우스에 적재하는 모든 과정을 말한다. ETL은 데이터 추출(Extraction), 변환(Transformation), 적재(Loading)의 약자다.

CEP(Complex Event Processing) 엔진 복잡한 여러 이벤트를 분석하여 패턴을 유추하는 엔진

 

2019/11/24 - [공부하記/빅데이터 시스템 구축 가이드] - [빅데이터] 3. 빅데이터 시스템 아키텍처(2)

 

 

 

[빅데이터] 0. 목차