빅데이터를 지탱하는 기술 2


빅데이터를 지탱하는 기술 (책을 통한 스터디 2)

http://image.kyobobook.co.kr/images/book/xlarge/439/x9791188621439.jpg

크로스 집계의 기본

테이블의 행과 열에 어떤 항목을 넣는지에 따라 크로스 테이블과 트랜잭션 테이블로 구분

  • 크로스 테이블
    • 행과 열이 교차하는 부분에 숫자 데이터가 들어감
    • 데이터베이스에선 다루기 어려운 데이터
  • 트랜잭션 테이블
    • 행 방향으로만 증가
    • 열 방향으로는 데이터가 증가되지 않음
  • 크로스 집계란
    • 트랜잭션 테이블에서 크로스 테이블로 변환하는 과정을 말한다.
    • 엑셀로도 피벗 테이블을 통해 이용이 가능하다.

###

테이블을 결합하여 속성을 늘리기

트랜잭션 테이블에 새로운 항목을 추가하지 않고, 다른 테이블과 결합하고 싶은 경우 사용

  • BI 도구를 사용한 크로스 집계
  • Pandas를 통한 크로스 집계
  • SQL에 의한 테이블의 집계

###

데이터 집계 ⇒ 데이터 마트 ⇒ 시각화

  • 시스템 구성은 데이터 마트의 크기에 따라 결정

  • 데이터 마트의 크기는 트레이드 오프

  • 필요에 따라 어느정도의 정보를 남길것인가를 의사결정 사항

열 지향 스토리지에 의한 고속화

데이터양이 증가함에 따라 빠르게 화면까지 보여주기 위해선 데이터 처리의 지연을 최소화가 관건

  • 모든 데이터를 메모리에 올리는것
    • 매우 빠름
    • 크기에 제한적
  • RDB를 사용
    • 에초에 지연이 적음
    • 클라이언트 동시 접근 가능
    • 단, 메모리가 초과되면 성능이 급격히 나빠짐
  • MPP 기술 (Massive Parallel Processing, 압축과 분산을 통해 지연 줄이기)
    • 데이터를 가능한 작게 압축
    • 여러 디스크에 분산
    • 멀티 코어를 활용하여 디스크 I/O를 처리

⇒ 데이터의 로드에 따른 지연을 줄임

열 지향 스토리지로 변환하는 과정

데이터의 가공 및 압축을 위해 많은 컴퓨터 리소스를 필요로함

분산 처리 프레임워크중 Hadoop과 Spark가 대표적

Hadoop

분산 데이터 처리의 공통 플랫폼이며 단일 소프트웨어가 아닌 분산 시스템을 구성하는 다수의 소프트웨어로 이루어진 집합체

  • 분산 파일 시스템
  • 리소스 관리자
  • 분산 데이터 처리

<출처: https://lanace93.tistory.com/>

img

분산 파일 시스템의 역할은 분산 처리 시스템에 필요한 데이터를 저장

리소스 관리자는 CPU코어와 메모리를 관리하고 적절히 조율

이때 관리되는 단위는 컨테이너임.

컨테이너 어떤 호스트에서 어떤 프로세스를 실행시킬 것인지 결정하는 애플리케이션 수준의 기술

분산 데이터 처리는 여러가지 선택지가 있다.

  • MapReduce
  • Hive

MapReduce는 비구조화 데이터 가공에 좋음 // 대향의 데이터를 배치 처리하기위한 용도

<출처: https://lanace93.tistory.com/>

img

Hive는 SQL등의 쿼리언어에 의한 집계할때 좋음

MapReduce의 단점을 극복하기 위해 이전 단계가 끝나길 기다리지 않고 바로 다음단계를 실행시킴

<출처: https://lanace93.tistory.com/>

img

대화형 쿼리 엔진 - Impala & Presto

쿼리 실행을 빠르게 하기위한 쿼리엔진

Spark - 인메모리 형의 고속 데이터 처리

효율적인 데이터 처리를 위한 프로젝트

Hadoop과 독립된 프로젝트

  • 대량의 메모리를 활용하여 고속화
  • 디스크에 기록하지 않음
  • Java 런타임이 필요
  • 데이터 처리는 스크립트 언어 사용 가능

중간에 비정상적으로 종료되면 다 날아가서 다시 실행해야..

기간계 시스템과 정보계 시스템

  • 기간계 시스템 : 비즈니스 근간에 관련된 중요한 시스템. 서비스가 정지될 경우 업무가 멈추기 때문에 완벽하게 테스트를 반복하고 신중하게 운용필요

  • 정보계 시스템 : 사내 커뮤니케이션과 의사결정등을 위해 이용하는 시스템.

확증적 데이터 분석과 탐색적 데이터 분석

  • 확증적 데이터 분석 : 가설을 세우고 그것을 검증하는 분석 ex) 통계학적 모델링에 의한 데이터 분석

  • 탐색적 데이터 분석 : 데이터를 보면서 그 의미를 읽어내려고 하는 분석 ex) 데이터를 시각화하여 사람의 힘으로 그 의미를 분석

Outro

이래저래 급 바쁜 일상때문에 꼼꼼하게 정리하지 못함을 반성하며 글을 올린다. 정말 꾸준히 글을 써내려가는게 어렵다는걸 체감하고 있다. 2주에 1편일 뿐인데도 5번째쯤 오니까 아주 허더덕 거린다. 자꾸 한계에 부딪히는 느낌도 살살오는데 ㅋㅋ ㅠ.ㅠ 그래도 12번까지 쓰는 그날을 꿈꾸며 나아가보자..!

글 12편을 아래와 같이 기획해본다.

1.글또 6기를 시작하며 (Done!)

2.ES - 일래스틱서치 개요와 기능들(Done!)

3.ES - 키바나를 활용한 데이터 시각화(Done!)

4.빅데이터를 지탱하는 기술 (책을 통한 스터디 1 - Done!)

5.빅데이터를 지탱하는 기술(책을 통한 스터디 2 - Done!)**

6.Azure - AZ Fundamental 900로 알아보는 기본 Azure 아키텍쳐

7.Azure - Data Factory로 구축하는 ETL 파이프라인

8.회계법인(Accounting Firm)과 디지털 컨설팅 1

9.회계법인(Accounting Firm)과 디지털 컨설팅 2

10.Image 관련 딥러닝 논문 내용과 적용(미정)

11.NLP 관련 딥러닝 논문 내용과 적용(미정)

12.2021년을 회고하며.. 글또 6기 마무리 글

이 글이 도움이 되셨다면 추천 클릭을 부탁드립니다 :)

Buy me a coffeeBuy me a coffee





© 2020 modified by Tae You Kim

Powered by "shoman2"