- 데이터 플랫폼 이론(2)
2) 빅데이터 관리 플랫폼
빅데이터를 이용하기 전, 기획을 잘해야한다.
- 해결하고자 하는 문제
- 분석 방법
문제 파악과 해결방법
분석 대상을 알고 있음 | |||
분석 방법을 알고 있음 |
최적화 Optimization |
솔루션 solution |
분석 방법을 모르고 있음 |
통찰 Insight |
발견 Discovery |
||
분석 대상을 모르고 있음 |
무엇을 알고 무엇을 모르는가
- 가용 데이터
- 가용 데이터에 대한 유형 파악 - 적절한 활용 방안과 유즈 케이스
- 기존에 만들어진 사례 및 솔루션을 최대한 활용 - 사전 계획 수립
- 장애 요소에 대한 사전 계획 수립
하향식 접근 - 분석 대상을 알 때
- 문제 탐색 단계
- 문제 정의 단계
- 해결방안 탐색 단계
- 타당성 검토 단계
상향식 접근 - 분석 대상을 모를 때
- 지도/비지도 학습
- 프로토 타입
앞으로 분석 할 때 상대적으로 상향식 접근을 많이 사용할 예정
1. 빅데이터 수집
데이터 유형 파악
- 정형(Structure)
장점: 데이터로써 활용성 높음
고정된 구조로 정해진 필드에 저장됨
단점: 손을 탈 수 있음
하드웨어 플랫폼이 다른 경우 값이 달라질 수 있음 - 반정형(Semi-Structure)
특징: 플랫폼이 다를때 그것을 규격할 수 있는 또다른 언어를 이용하여 중역 필요 - 비정형(Unstruture)
- 내부 데이터
- 자체적으로 보유하고 있는 데이터
- 일반적으로 정형 데이터(ETL,DW) - 외부 데이터
- 외부로부터 데이터를 받아와야 함
- 대부분 반정형, 비정형 데이터
데이터 속성 파악
- 양적자료(연속형자료)
- 만족도 조사, 성적표 [연산 가능] - 질적자료(범주형 자료)
- 성별, 색, 취미 [연산 불가능]
데이터 변환
- 효율적인 데이터 분석을 위해 임의로 데이터를 변환
- 평활화(Smoothing)
- 노이즈(Nosie) 제거 '누가봐도 틀린 것 같은 값' - 집계(Aggregation)
- 특정 기준에 맞추어 데이터를 그룹화 - 일반화(Generalization)
- 이상값(Outlier) 제거 '과도하게 큰 최댓값/최솟값' - 정규화(Normalization)
- 데이터가 특정 구간 (0~1 사이 등) 안에 들어가게 만듦 '위치를 파악하는데 용이' - 범주화(Categorization)
- 상위 레벨 속성이나 특성으로 일반화 '특정 카테고리에 들 수 있도록 함. 반올림, 연속형>이산형' - 데이터 축소
- 불필요한 데이터는 잘라냄 '데이터 축소, 차원 축소, 데이터 압축'
데이터 비식별화
- 데이터를 통해 개인을 식별할 수 있다면 위험이 발생
> 따라서 비식별화를 통해 구분할 수 없도록 함
- 정형 비식별화(Masking)
- 보장형 비식별화(식별 위험 제로에 수렴하도록 처리)
- 통계적 비식별화(보장형은 어렵기 때문에 통계적으로 균일하게 처리)
- 기능적 비식별화(적절하게 활용 목적에 따라 처리)
데이터 품질
Garage In, Garage Out
잘못된 데이터로 인해, 잘못된 결과가 나올 수 있음
- 데이터 품질 기준
- 정확성
- 완전성
- 적시성
- 일관성
2. 빅데이터 저장/처리/관리
수집한 데이터를 효과적으로 저장하고, 정확하게 다시 불러올 수 있도록 처리하며, 손실되지 않게 관리
RDBMS - 기존의 데이터 저장방식
- 관계형 데이터 베이스
- 주로 SQL을 이용하는데 CRUD(Create, Read, Update, Delete)를 수행하고 관리함.
- 정형데이터로 꾸려져 있는 경우가 많음
NoSQL
근래 실제 데이터는 비정형 데이터가 많기 때문에 나오게 됐다.
- Document - Oriented DB
-정형화 된 듯 하지만 그렇지 않은 데이터들을 모아 저장/관리 - Key-Value DB
- Key는 절대로 중복되서는 안되지만 Value는 중복 가능(ex:도서관의 책 분류와 책) - Column-Oriented DB
- 데이터의 양이 큰 경우 적합함
- 데이터를 컬럼 단위로 관리 - Graph DB
Scale-Up & Scale-Out
하드웨어의 발전으로 인해 데이터가 쌓임
>주기적으로 업그레이드 필요
- Scale-Up(Verical Scaling)
- 단일 노드의 성능 업그레이드로 처리 성능을 높임(ex. 컴퓨터 부품 하나를 좋게 만듦)
- 가격에 비해 성능 향상이 높지 않음 - Scale- Out(Horizontal Scaling)
- 분산을 지원하는 소프트웨어 / 응용 프로그램에 새 노드를 추가하여 처리 성능을 높임
- 비교적 저렴한 비용으로 높은 성능을 지원 - 고가용성
DFS - GFS
- DFS? - 데이터 저장의 Scale-Out
> 분산 파일 시스템(Distibuted File System)
- GFS (Google File System)
- 실시간으로 생성되고 사라지는 웹 페이지를 처리하기 위해 개발
- 청크가 겹쳐있음
HDFS
- 하둡 파일 시스템(Hadoop)
> 보통 대기업에서 대다수 사용
파란색 선 - 저장
노란색 선 - 처리
JobTracker: NameNode님 파일 어딨나요?
NameNode: OO노드에 있습니다. 그리고 OO에 중복 백업 되어 있습니다.
- Hadoop Ecosystem - 하둡하나로만은 부족해
- 데이터 수집
- Apache Flume
- Apache Kafka(실무에서 가장 많이 사용)
- Apache Sqoop - 데이터 처리 - 전체적인 스케줄링
- Apache Oozie
- Apache HBASE
- Apache Pig
- Apache Hive
- Apache MAHOUT - 에코시스템 여러 구성요소가 많아짐
하둡 내 노드가 동작 불능일 수 있음
- Apache Zookeeper
- Apache Ambari
Spark
중소기업에서 많이 사용하며, 단순작업에 유리함
- 분산 데이터 처리를 위해 프로그램 흐름을 Graph로 작성하고, 필요한 데이터를 미리 주기억 장치에 적재하여 동작함
'데이터 청년 캠퍼스(2022) > 배운 내용 정리' 카테고리의 다른 글
6.29(수) CSS 3 (0) | 2022.06.29 |
---|---|
6.28(화) HTML(2) (0) | 2022.06.29 |
6.28(화) 데이터 플랫폼 이론(3) (0) | 2022.06.28 |
6.27(월) HTML (0) | 2022.06.27 |
6.27(월) 데이터 플랫폼 이론 (0) | 2022.06.27 |