1-2. 빅데이터 시대의 데이터 분석 기반
빅데이터의 기술
분산 시스템을 활용해서 데이터를 가공해 나가는 구조
데이터 파이프라인 - 데이터 수집에서 워크플로 관리까지
- 차례로 전달해 나가는 데이터로 구성된 시스템
데이터 수집 - 벌크 형과 스트리밍 형의 데이터 전송
- 벌크 형
- 이미 어딘가에 존재하는 데이터를 정리해 추출하는 방법
- 데이터베이스와 파일 서버 등에서 정기적으로 데이터를 수집하는 데에 사용
- 스트리밍 형
- 차례차례로 생성되는 데이터를 끊임없이 계속해서 보내는 방법
- 모바일 애플리케이션과 임베디드 장비 등에서 널리 데이터를 수집하는 데 사용
스트림 처리와 배치 처리
- 스트림 처리
- 장기적인 데이터 분석에는 적합하지 않음
- 시계열 데이터베이스와 같은 실시간 처리를 지향한 데이터베이스가 자주 사용됨
- 배치 처리
- 장기적인 데이터 분석을 위해서는 대량의 데이터를 저장하고 처리하는 데 적합한 분산 시스템이 좋음
분산 스토리지
- 객체 스토리지
- 한 덩어리로 모인 데이터에 이름을 부여해서 파일로 저장
- Amazon S3 등
- NoSQL
- 애플리케이션에서 많은 데이터를 읽고 쓰려면 NoSQL이 성능면에서 우수
- 단, 나중에 데이터 용량을 얼마든지 늘릴 수 있는 확장성이 높은 제품을 선택해야 함
분산 데이터 처리
- 분산 스토리지에 저장된 데이터를 처리하는 데는 분산 데이터 처리(distributed data processing) 의 프레임 워크가 필요
- MapReduce가 사용되어진 것이 바로 이 부분
- 나중에 분석하기 쉽도록 데이터를 가공해서 그 결과를 외부 데이터베이스에 저장하는 것
- 분산 스토리지 상의 빅데이터를 SQL로 집계할 때
- 쿼리엔진
- Hive
- 대화형 쿼리엔진
- ETL 프로세스
- 외부의 데이터 웨어하우스 제품을 이용하기 위해 분산 스토리지에서 추출한 데이터를 데이터 웨어하우스에 적합한 형식으로 변환
- 추출(Extract) - 가공(Transform) - 로드(Load)
- 쿼리엔진
워크플로 관리
- 전체 데이터 파이프라인의 동작을 관리
- 매일 정해진 시간에 배치 처리를 스케줄대로 실행하고, 오류가 발생한 경우 관리자에게 통지하는 목적
데이터 웨어하우스와 데이터 마트
- 데이터 파이프라인 기본형
- 데이터 웨어하우스
- 대량의 데이터를 장기 보존하는 것에 최적화
- 정리된 데이터를 한 번에 전송하는 것은 뛰어나지만, 소량의 데이터를 자주 읽고 쓰는 데는 적합하지 않음
- 데이터 웨어하우스의 측면에서 봤을 때, 업무 시스템을 위한 RDB나 로그 등을 저장하는 파일 서버를 데이터 소스라함
- 데이터 소스에 보존된 로우 데이터(raw data)를 추출하고 필요에 따라 가공한 후 데이터 웨어하우스에 저장하기까지 흐름이 ETL 프로세스
- 데이터 마트
- 데이터 웨어하우스는 업무에 있어서 중요한 데이터 처리에 사용되기 때문에 아무때나 함부로 사용해 시스템 과부하를 초래하는 것은 곤란함
- 데이터 분석에 사용하는 경우 필요한 데이터만을 추출하여 데이터 마트 구축
- BI 도구와 조합시키는 형태로 데이터를 시각화하는 데에도 사용됨
데이터 웨어하우스를 중심으로 하는 파이프라인에서는 테이블 설계와 ETL 프로세스가 중요
데이터 레이크
- 데이터를 그대로 축적
- 데이터 레이크
- 모든 데이터를 원래의 형태로 축적해두고 나중에 그것을 필요에 따라 가공하는 구조 필요
- 임의의 데이터를 저장할 수 있는 분산 스토리지가 데이터 레이크로 이용됨
데이터 레이크와 데이터 마트 - 필요한 데이터는 데이터 마트에 정리
- 데이터 레이크는 단순한 스토리지임
데이터 분석 기반을 단계적으로 발전시키기
- 팀과 역할 분담, 스몰 스타트와 확장
애드혹 분석 및 대시보드 도구
- 애드혹 분석
- 일회성 도구
- 대시보드 도구
- 수작업으로 데이터 분석뿐만 아니라 정기적으로 그래프와 보고서를 만들고 싶을 때
데이터 마트와 워크플로 관리
데이터 마트 구축은 배치 처리로 자동화되는 경우가 많기 때문에 그 실행 관리를 위해 워크플로 관리 도구를 사용
데이터를 수집하는 목적
- 검색, 가공, 시각화의 세 가지 예
데이터 검색
- 대량의 데이터 중 조건에 맞는 것을 찾고 싶은 경우
- 실시간 데이터 처리나 검색 엔진을 사용하여 키워드를 찾는 기능이 필요
데이터의 가공
- 업무 시스템의 일부로서 데이터 처리 결과를 이용하고 싶은 경우
- 자동화 필수
- 워크플로 관리를 도입하여 테스트를 반복적으로 실행해서 시스템 구축
데이터 시각화
- 통계 분석 소프트웨어나 BI 도구 등으로 그래프를 만들고 거기서 앞으로의 상황을 예측해 의사 결정에 도움이 되도록 하는 경우
확증적 데이터 분석과 탐색적 데이터 분석
- 확증적 데이터 분석
- 가설을 세우고 검증
- 통계학적 모델링에 의한 분석
- 탐색적 데이터 분석
- 데이터를 보면서 그 의미를 읽어내기
- 시각화하여 사람의 힘으로
- BI 도구를 사용한 데이터 디스커버리, 데이터 탐색
[출처]
빅데이터를 지탱하는 기술, 니시다 케이스케
'Data Enginerring > 빅데이터를 지탱하는 기술' 카테고리의 다른 글
[요약 정리] 3-2. 쿼리 엔진 (0) | 2022.06.15 |
---|---|
[요약 정리] 3-1. 대규모 분산 처리의 프레임워크 (0) | 2022.06.14 |
[요약 정리] 2-4. 데이터 마트의 기본 구조 (0) | 2022.06.12 |
[요약 정리] 2-2. 열 지향 스토리지에 의한 고속화 (0) | 2022.06.12 |
[요약 정리] 1-1. 빅데이터의 정착 (0) | 2022.06.09 |