- 플랫폼 구축형
- 빅데이터 분석
- 빅데이터 운영
플랫폼 구축은 빅데이터 SI 구축형
빅데이터의 하드웨어, 소프트웨어 설치 구성
수집 → 적재 → 처리 → 탐색 → 분석 기능을 구성
백업돼 있는 데이터의 마이그레이션, 주변 업무 시스템에서 발생하는 데이터의 양과 속성에 따라 프로젝트 기간이 변동
2. 빅데이터 기술의 변화
초기 : 대용량 저장소와 배치 처리기술에 집중
중기 : 실시간 처리 및 온라인 분석 기술 개발
최근 : 데이터 마이닝 및 AI의 고급 분석을 위한 전처리와 분석 마트를 구성하는 기술
빅데이터 기술의 핵심 하둡
2005년 하둡이 알려지며 빅데이터 기술들이 끊임없이 진화
빅 3 기업 cloudera, hortonworks, mapr 업체들도 하둡을 중심으로 각자의 빅데이터 소프트웨어 스택을 개발하고 공개
3. 빅데이터 구현기술
빅데이터 아키텍처는 수집 → 적재 → 처리 → 탐색 → 분석 → 응용
수집
내,외부 데이터 연동 및 통합
- crawling
- ftp
- open api
- rss
- log aggretion
- db aggregation
- streaming
빅데이터 수집 기술은 원천데이터를 효과적으로 수집하는 기술
외부데이터 수집에는 SNS, 블로그, 포털 수집시 크롤링, NLP 등 비정형 처리를 위한 기술이 선택적으로 적용
수집 처리에는 대용량 파일 수집, 실시간 스트림 수집
실시간 수집 : CEP(complex event processing), ESP(event stream processing)
수집 데이터는 정제, 변환, 필터링 등의 작업을 추가로 진행하여 데이터 품질을 향상시킨 후 빅데이터 저장소에 적재한다.
빅데이터 수집 관련 소프트웨어는 flume, fluented, scribe, logastash, chukwa, nifi, embulk등이 있다.
파일럿 프로젝트에서는 flume 사용
실시간 스트림 데이터 처리 : 스톰(storm), 에스퍼(esper) 사용
적재
대용량/실시간 데이터 처리, 분산 파일 시스템 저장
- distributed file
- No-SQL
- Memory Cached
- Message Que
- 대용량 파일 전체를 영구적 저장 : HDFS
- 대규모 메시징 데이터 전체를 영구 저장 : NoSQL(HBase, MongoDB, Casandra 등)
- 대규모 메시징 데이터 일부를 임시 저장 : 인메모리 캐시 (redis, memcached, infinispan 등)
- 대규모 메시징 데이터 전체를 버퍼링 처리 : message oriented middleware (kafka, rabbitMQ, ActiveMQ 등)
처리/탐색
데이터 선택, 변환, 통합, 축소 / 데이터 워크플로 및 자동화
- structured processing
- unstructured processing
- workflow
- scheduler
- SQL : 휴, 하이브 스파크
- 후처리 작업 자동화 : 우지
분석/ 응용기술
4차 산업혁명 이후 선형적 확장
분산환경 위에서 머신러닝 기술을 구현해 군집(clustering), 분류(classification), 회귀(regression), 추천(recommendation)
분석/응용기술로는 임팔라, 제플린, 머하웃, R, 텐서플로를 다룬다
스쿱을 응용해서 외부 RDBMS에 데이터를 제공한다.
4. 데이터 보안
개인식별 정보는 비식별화 처리해 적재해야한다.
- 가명처리
- 총계처리
- 데이터 값 삭제
- 범주화
- 마스킹
정책과 보안으로는 아파치 녹스, 아파치 센트리, 아파치 레인저, 커베로스 등을 활용할 수 있다.
아파치 녹스
- 네트워크 상의 DMZ에 위치
- 외부 클라이언트가 하둡에코시스템에 직접 접근하는 것을 막음.
- 중간 게이트웨이 역할
- 접근 인증 LDAP, KDC
아파치 센트리 서버
- 하둡 파일 시스템에 상세한 접근 제어가 필요할 때 사용
- 센트리 에이전트를 반드시 설치해야한다.
- 센트리 에이전트가 센트리 서버와 통신하면서 접근 권한을 획득하게 된다.
- 감사 로그를 편리하게 조회할 수 있다.
아파치 레인저
- 아파치 센트리와 유사한 아키텍처
- 호튼웍스에서 지원
- 레인저가 지원하는 에코시스템이 많아 범용성이 좀 더 높다
- 레인저 플러그인을 통해 서버와 통신