728x90
1. 데이터 처리 기법 비교
구분 | 전통적 데이터 처리 기법 | 빅데이터 처리 기법 | 비고 |
추출 | ∙ 운영DB(Operational Database) → ODS ∙ ODS → 데이터웨어하우스 |
∙ 빅데이터 환경 → 빅데이터환경 | 특정 소스에서 타깃으로 데이터를 옮긴다는 측면은 동일 |
변환 | O | O | |
로딩 | O | O | |
시각화 | X | O | 시각화를 통해 대용량 데이터에서 통찰력(Insight)을 획득하고자 하는 시도는 빅데이터 고유한 특성 |
분석 | ∙ OLAP ∙ 통계(Statistics)와 데이터마이닝 기술 |
∙ 통계와 데이터마이닝 기술 | 각종 통계 도구/기법과 데이터마이닝의 분석 모델 설계/운영/개선 기법의 적용은 유사 |
리포팅 | 비즈니스 인텔리전스 | 비즈니스 인텔리전스 | |
인프라 스트럭처 |
∙ SQL ∙ 전통적 RDBS 인스턴스(HA포함) |
∙ NoSQL등 ∙ 초대형분산(Redundant) 데이터 스토리지 |
전통적 데이터 저장 메커니즘 대비 다수의 노드에 중복을 허용하는 방식으로 데이터를 저장하는 것은 빅데이터의 고유한 특성 |
2. 대용량 비정형 데이터 처리기법
1) 대용량 로그 데이터 수집
i. 로그(log)
- 비정형 데이터: 일정한 규격이나 형태가 없는 구조화되지 않은 데이터
ex) 책, 블로그 등 - 아파치 Flume-NG, 페이스북 Scribe, 아파치 Chukwa 등
ii. 대용량 비정형 데이터 수집 시스템 특징
- 초고속 수집 성능과 쉽게 확장할 수 있는 구조
- 데이터 전송보장 메커니즘
- 다양한 수집과 저장 플러그인
- 인터페이스 상속을 통한 애플리케이션 기능 확장
2) 대규모 분산 병렬 처리
i. 하둡(Hadoop)
- 맵리듀스(MapReduce) 시스템과 분산 파일시스템인 HDFS를 핵심구성요소로 가지는 플랫폼 기술
- 여러 대의 컴퓨터를 하나의 시스템인 것처럼 묶어 분산환경에서 빅데이터를 저장 및 처리할 수 있도록 하는 자바 기반의 오픈소스 프레임워크
- 비공유 분산 아키텍처
ii. 하둡의 특징
- 선형적인 성능과 용량 확장
- 클러스터를 구성할 수 있는 서버의 대수에는 제한이 없고 통상적으로 최소 클러스터 대수는 5대 정도
- 비공유 분산 아키텍처 시스템이기 때문에 서버를 추가하면 연산 기능과 저장 기능이 서버 대수에 비례해 증가 - 고장 감내성
- HDFS에 저장되는 데이터는 3중복제가 되어 서로 다른 물리서버에 저장되므로 서버에서 장애가 발생하더라도 데이터 유실을 방지 할 수 있음
- 시스템이 자동으로 감지해 장애가 발생찬 특정 태스크만 다른 서버에서 재실행 가능 - 핵심 비즈니스 로직에 집중
- 하둡의 맵리듀스는 맵과 리듀스 2개의 함수만 구현하면서 동작하는 시스템
- 시스템에서 발생하는 장애에 대해 자동복구(failover)를 제공하고 곽장성 및 성능 등의 이슈도 하둡이 내부적으로 최적화해 처리
- 풍부한 에코시스템 형성
- Zoopkeeper: 분산 환경에서 서버들간에 상호 조정이 필요한 다양한 서비스 제공
- Oozie: 하둡작업을 관리하는 워크플로우 및 코디네이터 시스템
- Hbase: HDFS 기반의 컬럼 NoSQL
- Pig: 복잡한 맵리듀스 프로그래밍을 대체할 Pig Latin 언어 제공
- Hive: 하둡 기반의 DW, 테이블 단위의 데이터 저장과 HiveQL쿼리 지원
- Mahout: 하둡기반으로 데이터 마이닝 알고리즘을 구현한 오픈 소스 라이브러리
- Hcatalog: 하둡 기반의 테이블 및 스토리지 관리
- Avro: RPC(Remote Procedure Call)과 데이터 직렬화를 지원하는 프레임워크
- Chukwa: 분산환경에서 생성되는 데이터를 HDFS에 안정적으로 저장시키는 플랫폼
- Flume: 소스서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜렉터로 구성
- Scribe: 페이스북에서 개발된 데이터 수집 플랫폼, Chukwa와 달리 중앙집중서버로 전송
- Sqoop: 대용량 데이터 전송 솔루션. HDFS, RDBMS, DW, NoSQL등 다양한 저장소에 대용량 데이터를 신속하게 전송할 수 있는 방법 제공
- Hiho: 대용량 데이터 전송 솔루션. 하둡에서 데이터를 가져오기 위한 SQL을 지정ㅎ라 수 있으며 JDBC인터페이스 지원
- 맵리듀스/HDFS: 빅데이터 처리와 분산을 위한 기반 기술로 하웁 에코시스템의 코어 프로젝트
- YARN: 맵리듀스의 단점을 극복하기 위해 시작되어 하둡 2.0부터 제공되는 프로젝트로 분산 애플리케이션을 구현하기 위한 자원 관리 프레임워크를 지원함
- Flume-NG
- 데이터가 발생하는 애플리케이션 단계
- 발생한 데이터를 수집하는 단계
- 수집한 데이터를 저장하는 단계
- 데이터 저장소 보관 단계
구분 | 주요기술 |
데이터 수집 | Flume-NG, kafka |
데이터 연동 | Sqoop |
분산 데이터베이스 | Hbase |
대용량 SQL질의 | Hive, Pig |
실시간 SQL질의 | Impala, Tajo |
워크플로 관리 | Oozie, Azkaban |
3) 데이터 연동
i. 스쿱(Sqoop)
- 하둡과 데이터베이스 간의 데이터 연동 솔루션
- SQL, PostgreSQL, 사이베이스 등 JDBC를 지원하는 대부분의 관계형 데이터베이스와의 연동 지원
- 하둡에서 제공하는 맵 인풋 포맷터를 사용하며 SQL을 통해 테이블에서 데이터를 추출
- 데이터 이동을 맵리듀스를 통해 처리하여 장애 허용능력과 병렬 처리기능 제공
- Import 명령어를 이용하여 RDBMS의 데이터를 HDFS로 옮김
- Export 명령어를 이용하여 HDFS의 데이터를 EDBMS로 옮김
4) 대용량 질의 기술
i. 하이브(Hive)
- SQL 질의기술을 이용해 하둡에 저장된 데이터를 쉽게 처리하고 분석할 수 있도록 해줌
- 하둡과 하이브는 대용량 데이터를 배치처리하는데 최적화되어 있지만 실시간으로 조회하기에 제약이 있음
ii. SQL on 하둡기술: 실시간 SQL 질의 분석 기술
- 아파치 드릴(Drill): 하둡전문회사인 맵알(MapR)이 주축인 프로젝트로 드레멜의 아키텍쳐와 기능을 동일하게 구현한 오픈소스 버전의 드레멜
- 아파치 스팅거(Stinger): 하둡전문회사인 호튼웍스에서 개발을 주도하여 기존의 하이브 코드를 최대한 이용하여 성능을 개선하는 식으로 개발이 진행되고 있음
- 샤크(Shark): 인메모리기반의 대용량 DW시스템. 하이브와 호환되기 때문에 하이브 SQL질의와 사용자 정의함수를 사용할 수 있음
- 아파치 타조(Tajo): 고려대학원에서 시작하여 빅데이터전문회사인 그루터(Gruter)가 합류하여 개발을 진행. 아파치 인큐베이션 프로젝트로 등록되어 있음
- 임팔라(Impala): 하둡전문회사인 클라우데라(Cloudera)에서 개발을 주도
- 호크(HAWQ): EMC에서 분사한 하둡전문회사인 피보탈(Pivotal)에서 개발. 상용과 커뮤니티의 2가지 버전 제공
- 프레스토: 페이스북에서 자체개발하여 사용하는 하둡기반의 데이터웨어하우징 엔진으로 아파치 라이센스로 공개됨
728x90
'통계학 > ADP' 카테고리의 다른 글
[ADP] 분산데이터 저장기술 - 데이터베이스 클러스터 (0) | 2025.02.21 |
---|---|
[ADP] 분산데이터 저장기술 - 분산파일시스템 (0) | 2025.02.20 |
[ADP] 데이터 처리 프로세스 (1) | 2025.01.16 |
[ADP] DBMS와 SQL (1) | 2025.01.15 |
[ADP] 빅데이터의 이해 (0) | 2025.01.14 |