일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 문법 정리
- 자바
- 초대장
- 알고리즘
- 자바 프로젝트
- resilience4j
- 프로젝트
- MongoDB
- 운영체제
- smart cast
- 티스토리
- K6
- SQL
- dynamic query
- 파이썬 소스
- 백준 알고리즘
- auto configure
- JVM
- 리눅스
- 오라클 디비
- gradle
- spring
- hyperledger
- c#
- oracle
- 학점
- jsp
- 오라클
- 파이썬
- 유사코드
- Today
- Total
모종닷컴
빅데이터란? 본문
◆빅 데이터 이해하기
16년에 AI알파고 구글의 무인 자동차가 나오면서부터 “4차 산업혁명“ 이란 단어가 나오기 시작했습니다. 빅 데이터는 4차 산업 혁명으로 가기 위해 필요한 핵심 기반 기술입니다.
◆빅 데이터가 필요한 이유?
인터넷/ 모바일 시대로부터 지금까지 쌓인 데이터들에서 최근 2년 동안 발생한 데이터가 전 세계 데이터의 80%를 차지한다고 합니다. 이 말은 앞으로 생겨날 데이터의 양은 지금과는 비교가 안 될 정도로 많아질 것이라는 것을 알수 있습니다. 빅 데이터 기술은 이렇게 방대한 데이터들에서 다양한 패턴들을 해석하여 미래를 예측하는 기술이라 볼 수 있겠습니다.
◆빅 데이터 기술의 발전
처음은 단순 수집, 적재로 활용되었지만 2012년 쯤 부터 수집한 데이터를 분석하기 시작했고 현재는 이러한 분석을 통하여 통찰력과 예측하는 수준까지 올라왔다고 합니다.
◆빅 데이터 구현 기술
빅 데이터 아키텍처는 역할별로 수집, 적재, 처리 및 탐색, 분석 및 응용이라는 6개의 레이어로 나눌 수 있고, 역할은 다음과 같습니다.
단계 |
역할 |
수집 |
-데이터 연동 및 통합 |
적재 |
-대용량/실시간 데이터 처리 -분산 파일 시스템 저장 |
처리 |
-데이터 선택, 변환, 통합, 축소 -데이터 워크플로 및 자동화 |
탐색 |
-대화형 데이터 질의 -탐색적 Ad-Hoc 분석 |
분석 |
-빅 데이터 마트 구성 -통계 분석, 고급 분석 |
응용 |
-보고서 및 시각화 -분석 정보 제공 |
분석 단계에서 현재 Machine Learning, Data Mining이 쓰인다고 생각하시면 될 것 같습니다.
각 단계를 자세히 보면 다음과 같습니다.
*수집 기술
빅 데이터 수집 기술은 기존 시스템에서 보다 더 크고 다양한 형식의 데이터(정형 데이터, 비정형 데이터 http://monny.tistory.com/6)를 빠르게 처리하는 것입니다.
수집 기술을 깊게 이해하자면 데이터 수집에는 기존 시스템에서 데이터를 얻는 것 vs 실시간 스트림 수집으로 나눌 수 있습니다.
기존 시스템의 다양한 인터페이스로부터 정형, 비정형 데이터를 수집하는 것이며, 특히 비정형 데이터를 수집할 때는 크롤링, NLP 기술이 선택적으로 작용한다, 실시간 데이터는 CEP, ESP 기술이 적용됩니다.
빅 데이터의 수집 관련 소프트웨어로는 Flume, Fluented, Scribe, Logstash, Chunkwa 이 있고, 실시간 스트림 데이터 처리를 위한 Storm과 Esper도 사용한다고 합니다.
*적재 기술
빅데이터 적재 기술은 수집한 데이터를 분산 스토리지에 영구 또는 임시로 적재하는 기술입니다.
분산 저장소로 크게 4가지 유형이 있습니다.
1. 대용량 파일을 영구적으로 저장하기 위한 하둡
2. 대규모 메시징 데이터를 영구 저장하기 위한 NoSQL(몽고DB,카산드라)
3. 대규모 메시징 처리 결과를 고속으로 저장하기 위한 메모리 캐시
4. 대규모 메시징 데이터를 임시 저장하기 위한 메시지 지향 미들웨어
이 저장소들에는 각자 다른 성격의 데이터들이 저장됩니다. 예로 실시간 대량으로 발생하는 메시지 데이터는 1번에 저장되면 파일이 많아져 효율성이 떨어지기 때문입니다. 따라서 빅데이터 적재 기술에서 적재되기 전에 적절한 설계로 어디에 저장해야 할지 판단해야 합니다.
*처리/탐색
빅데이터 처리/탐색 기술은 이렇게 저장소에 적재된 데이터를 분석에 활용하기 위해 데이터를 정형화 및 정규화 하는 기술입니다.
처리/탐색 과정은 다음과 같습니다
데이터를 발굴하기 위해 적재된 데이터를 지속적으로 관찰하고 탐색(SQL on Hadoop)
↓
데이터를 선택, 변환, 통합, 축소(애드혹 쿼리)
↓
위의 과정들을 워크플로(workflow)로 프로세스화해서 자동화
↓
워크플로 작업이 끝난 데이터들을 DW로 옮김
↓
DW로 옮겨진 데이터들을 측정 가능한 구조로 만듬
*분석&응용
분석/응용 기술은 대규모 데이터로부터 새로운 패턴을 찾고, 그 패턴을 해석하여 통찰력을 확보하기 위한 단계입니다.
위에 말했던 바와 같이 최근 2년 동안 엄청난 양의 데이터가 생겨나고 , 앞으로 생길 것으로 예상됩니다. 하지만 기존에 사용하던 분석 기술로는 한계가 발생하였고 빅데이터 분석 기술은 이러한 한계점을 극복할 수 있게 하였습니다. 또한 머신 러닝 기술을 통하여 군집, 분류, 회귀, 추천 등의 고급 분석 영역까지 확장할 수 있게 되었습니다.
분석/응용 기술에는 임팔라, 제플린, 머하웃이 있으며 스쿱을 응용하여 외부 RDMBS에 데이터를 제공합니다.
이미지 한장으로 정리하자면 다음과 같습니다.
※이 글은 <실무로 배우는 빅데이터 기술 >이라는 책을 토대로 정리한 내용입니다.