ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [빅데이터의 탐색] 3. 애드 혹 분석과 시각화 도구
    책/빅데이터를 지탱하는 기술 2022. 3. 23. 15:34
    반응형

    이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다.


     

     

     

    1. Jupyter Notebook에 의한 애드 혹 분석


    어떤 데이터 분석이라도 처음에는 어떤 데이터가 어디에 있는지 알지 못하기 때문에 애드 혹 분석을 사용한다. 주피터 노트북에서 데이터를 시각화하는 라이브러니는 제일 유명한 matplotlib가 있다. 그리고 주피터 노트북에는 간이적인 워크플로의 실행도 있는데, 바로 Kernel - Restart & Run All이다. 거기다가 느낌표(!)로 명령어를 시작하여 모든 외부 명령어를 실행할 수 있다.


     

     

     

    2. 대시보드 도구


    정기적으로 쿼리를 실행해 보고서를 작성하거나 주요 그래프를 모아서 대시보드를 작성하려고 하면, 먼저 대시보드를 만들어야한다.

     

    - 대시보드 도구 vs BI 도구

    대시보드 도구와 BI 도구의 역할이 살짝 비슷한데, 대시보드 도구의 경우에는 그래프를 쉽게 추가하는 것이 가능하고, BI 도구는 대화형 데이터 탐색을 중요시한다.

    만약 천천히 데이터를 들여다본다면 BI 도구가 적합하고, 최신 집계 결과를 바로 확인하길 원한다면 대시보드 도구가 더 적합하기 때문에 정해진 지표의 일상적인 변화를 모니터링하고 싶은 경우엔 대시보드가 적합하다.

     

    다음은 오픈소스 대시보드 도구이다.

     

    * Redash

    장점

    - SQL에 의한 쿼리의 실행 결과를 그대로 시각화하는데 좋음

    - 대시보드 작성이 직관적임(데이터 소스 등록 → 쿼리를 실행해 표/그래프를 제작 → 결과를 대시보드에 추가)

    - 등록된 쿼리는 정기적으로 실행하여 자체 데이터베이스에 저장해서 데이터 마트가 필요 없음

    - 데이터 집계된 결과가 즉시 대시보드에 나옴

    단점

    - 대량의 데이터를 처리하면 백엔드 데이터베이스의 부하가 높아지고, 처리 도중에 오류가 나오거나 결과가 표시되지 않아서 사실상 사용이 불가능함

     

    * Superset

    장점

    - 대화형 대시보드를 작성하기 위한 웹 애플리케이션

    - 데이터 집계를 수 초 내에 완료할 수 있음

    -시계열 데이터를 위한 열 지향 스토리지인 Druid와 스트리밍형 데이터 전송과 조합하면 실시간 정보를 취급 가능

    단점

    - 내장 스토리지 시스템이 없어서 Druid를 표준으로 지원

    - Druid는 집계할 때 테이블을 결합할 수가 없어서 데이터 마트를 만들어야함

     

    * Kibana

    장점

    - 대화식 시각화 도구로 실시간 대시보드를 만들 수 있음

    - Elasticsearch에 저장해야하기 때문에 시각화를 위한 데이터 스토어로 사용할 때 좋은 편임

    - Elasticsearch를 사용해서 검색 조건에 맞는 데이터를 빠르게 시각화하는데 좋음

    단점

    - Elasticsearch의 프론트 엔드로 개발되었던 것이라 Elasticsearch가 절대 필수적이고, 데이터도 모두 저기에 저장해야함

    - Elasticsearch는 전체 텍스트 검색에 대응한 데이터 스토어라 데이터 분석에 필요가 없음


     

     

     

    3. BI 도구


    몇 개월 단위의 장기적인 데이터 추이를 시각화하거나, 집계의 조건을 세부적으로 바꿀 수 있는 대시보드를 만들 때 BI도구를 사용하는 것이 좋다.

     

    특징

    - BI 도구에서는 이미 있는 데이터를 그대로 가져오거나, 시간을 들여 데이터를 분석하기 쉽도록 가공하는 일이 자주있어서 시각화에 적합한 데이터 마트를 만들어 읽고 쓰는 것을 전제로 한다.

    - 소수의 데이터 소스에서 다수의 그래프를 만들기 때문에 사람의 판단에 따라 수많은 집계 데이터가 달라진다.

    - 하나의 대시보드에서는 정보량의 한계가 있기 때문에 몇 가지 중요 화면만 만든다음, 나중에 각 화면에서 집계 조건을 바꿀 수 있도록 만든다.

    - 유사한 그래프를 여러 개 만들 필요 없이 그 상세를 확인할 수 있는 대화형 대시보드를 제공하는 형태이다.

     

    - 하나의 데이터를 다각적으로 분석하기

    대화형 대시보드를 만들기 위해서는 그 바탕이 되는 데이터를 모두 포함하는 하나의 테이블을 만들고, 여기에서 다수의 대시보드를 만든다. 이때 전체 숫자를 파악할 수 있는 리포트는 한 개 있어야 하고, 이것을 분해하여 주요 지표를 정리하는 것이 좋다. 그리고 알고 싶은 것이 늘어날 때마다 데이터 마트에 테이블을 만들고 파생된 다수의 대시보드를 생겨나게 만든다. 이때 그래프 업데이트를 배치 처리에 의한 데이터 마트 작성을 하면 한 번의 배치 처리로 모든 그래프가 업데이트되기 때문에 실수가 발생하기 어렵다.


     

     

    반응형

    댓글

Designed by Tistory.