본문 바로가기
Visualization/BI - DW

<1. 빅데이터의 기초 지식> BI란 무엇일까요?

by 5ole 2023. 3. 26.

 

 

대학생때 태블로를 들어보기는 했지만 해당 툴을 실제 기업에서 쓸 거라고는 생각도 못했던 것 같습니다.
우선 데이터를 시각화해서 보고자 하는 요구가 존재할까? 에 대한 의문이 있었는데요.
BI 엔지니어로 일하면서도 한동안 BI라는 것이 무엇인지 뚜렷하게 가늠이 안잡혔기에
기업에서는 왜 빅데이터를 수집하고 BI 시각화를 하고자 하는지, 어떻게 사용하고 관리하는지에 대해
<빅데이터를 지탱하는 기술> 책을 바탕으로 정리하며 작성해보고자 합니다. 

 

 

1. BI란 무엇일까요?
2. BI 도구 VS.  Dashboard 도구
3. 데이터 디스커버리 (Self Service BI 도구)
4. BI를 하기 위해서는 무엇이 필요할까요?
5. 수집부터 BI까지의 데이터 파이프라인

 


 

1. BI란 무엇일까요?

 

먼저, 기업이 데이터를 수집하는 목적으로는 3가지를 들 수 있습니다.

 

(1) 데이터 검색

(2) 데이터 가공

(3) 데이터 시각화


(1) 데이터 검색

pixabay

- 시스템 장애가 발생했을 때 로그 데이터를 바탕으로 원인을 파악하기 위해 검색

- 고객의 주문 내역을 확인하고 문의사항에 대응하기 위해 검색

 

모아놓은 데이터 속에서 필요한 정보를 골라서 확인하기 위해 데이터를 수집합니다.

문의사항이나 긴급상황에 대응하기 위해 빠른 검색 기능이 요구되며 실시간 데이터 처리나 검색 엔진을 사용한 키워드 기능이 필요합니다.

 

 

(2) 데이터 가공

 

 

 

 

- 장바구니에 담은 물건과 자주 사는 상품 제안

- 공장에서 비정상적인 상태를 감지하여 알림을 주는 데이터 모니터링

 

더 나은 서비스를 제공하고자 해결하고자 하는 목적을 지정하고 그에 필요한 데이터를 수집합니다.

수집한 데이터를 통해 머신러닝, 딥러닝을 응용할 수 있으며 꼼꼼하게 테스트를 반복해서 깔끔하게 원하는 데이터가 수집되도록 노력을 기울여야 합니다. 

 

 

(3) 데이터 시각화

 

 

- 매출이나 공장의 상태에 특이점이 없는지 변화를 감시

- 그래프를 통해 앞으로의 상황을 예측

 

데이터를 시각적으로 나타내어 보고 싶은 정보를 한눈에 볼 수 있도록 합니다.

보고자 하는 데이터를 선별하는 과정에서 그래프의 특이점과 중요한 지표로 판단되는 과정이 계속 변경될 수 있기 때문에 데이터 집계 과정 또한 반복됩니다. 데이터를 빠르게 집계해 시각화 그래프를 띄울 수 있도록 해야합니다.

 


 

위의 3가지 중에서 BI는 3. 데이터 시각화에 해당됩니다.

BIBusiness Intelligence 비즈니스 인텔리전스의 줄임말로 기업의 업적 등을 수집해 경영상의 의사결정에 도움을 주는 과정입니다. 

데이터 분석 프로젝트를 할 때 필수적인 과정은 데이터 탐색 과정(EDA)입니다. 
데이터가 어떻게 생겼는지 확인하고 크게 문제되는 점은 없는지 등을 한눈에 확인하기 위해 대부분 데이터를 시각화해서 보는데,  이처럼 실제로 기업에서도 빅데이터를 수집하고 현황 파악을 위해  데이터들 속에서 필요한 것들을 집계해 보고자 합니다.

그 과정에서 수치만 나와있는 표로는 현황을 모니터링하기 힘드니 알아보기 쉽게 데이터를 시각화해서 보고자 하는데 이 때 쓰이는 게 BI 도구입니다. 

 

데이터 엔지니어, 데이터 분석가의 커리큘럼 등을 찾다보면 BI 도구에 대한 지식을 언급하는 것을 많이 볼 수 있습니다.

BI 도구로는 Tableau, PowerBI, Quick Sencse 등을 꼽을 수 있으며 Selecthub라는 사이트에서 총 846개의(!) BI툴이 있다고 하네요. 

 

geekflare.com / peerspot.com / selecthub.com
[요즘IT] https://yozm.wishket.com/magazine/detail/1794/

 

샘플 데이터로 만든 Tableau 대시보드

 

 

장기적인 데이터 추이를 시각화하거나, 다양하게 확인할 수 있는 필터 조건을 바꾸며 세부적으로 데이터를 볼 수 있도록 대시보드를 만드는데 사용됩니다. 

주로 하나의 데이터 원본을 만들고 이를 주축으로 여러 그래프가 담긴 대시보드를 만들며 늦은 밤이나 주기적으로 도는 배치로 데이터가 새로고침되어 이와 연결된 모든 대시보드의 그래프들이 자동으로 업데이트 되기에 쿼리 실수가 발생할 가능성이 없습니다. 

또한 그래프를 업데이트할때마다 매번 대량의 쿼리를 반복 실행하는 것이 아니기에 부하가 안정적입니다.

그리고 고속의 집계 엔진을 내장하고 있어 수백만 레코드의 집계 그래프는 빠르게 나타낼 수 있습니다. 

 


 

2. BI 도구 VS.  Dashboard 도구

 

BI도구와 유사하게 대시보드 도구가 있습니다.  둘 다 정기적으로 쿼리를 실행해 보고서를 작성하고

주요 그래프를 모아서 대시보드를 작성합니다. 

 

조금의 차이점이 있다면 BI도구데이터 마트를 만드는 것이 전제 조건이며 마우스 클릭이나 마우스 오버 등으로 필터링을 하거나 좀 더 상세한 데이터를 확인할 수 있도록 동작하는 대화형 데이터 탐색이 가능합니다.

 

대시보드 도구는 이러한 동작은 불가능하지만 데이터 마트가 필수적이지 않고 새로운 그래프를 쉽게 추가해 지속적인 모니터링을 하는 데 중점을 둡니다. 

 


대시보드 도구에는 Redash, Superset, Kibana 등이 있는데 특징을 간략하게 보자면

 

- Redash : 파이썬 기반 도구로 SQL에 의한 쿼리 실행 결과를 그대로 시각화합니다. 등록한 쿼리가 정기적으로 실행되어서 자신의 데이터베이스에 저장되는데 BI도구만큼 대량의 데이터를 처리하기는 어렵습니다. 대시보드의 그래프 수만큼 쿼리를 실행하고, 대시보드가 증가할수록 백엔드 데이터베이스 부하가 높아집니다. 

 

- Superset : 파이썬 기반 웹 애플리케이션으로 마우스 조작 기반 도구입니다. 내장 스토리지 시스템은 따로 없어 데이터 집계는 외부 데이터 저장소에 의존하는데 Druid, 지연이 적은 RDB, MPP 데이터베이스 등을 조합해 고속화해야 합니다. BI 도구와 유사하게 데이터 마트가 필요하고 집계 시에는 테이블을 결합할 수 없기 때문에 미리 모두 준비해두어야합니다. 

 

- Kibana : 자바스크립트 기반 대화식 시각화 도구로 텍스트 데이터 검색에 쓰입니다. 검색엔진인 Elastic Search의 프론트엔드로 개발되었기에 시각화하고자 하는 데이터가 Elastic Search에 모두 저장되어야하며 설치가 필수적입니다.  RDB에 있는 데이터를 볼 수 없으며 검색 조건에 맞는 데이터를 빠르게 시각화 할 때 적합합니다.


 

즉, 간단한 모니터링 시각화 용도로는 대시보드 도구면 충분하며, 모니터링하며 해당 원인을 파악하는 과정이 부가적으로 필요하다면 원하는 정보를 찾을 수 있도록 도움을 주는데 사용하는 것이 BI 도구입니다.

 


 

3. 데이터 디스커버리 (Self Service BI 도구)

 

추가로, 조직 내 필요한 데이터가 어디있는지 빠르게 검색할 수 있도록 하는 툴을 데이터 디스커버리(Data Discovery)로 Self Service BI 도구라고 불립니다. 줄여서 Self BI는 데이터 웨어하우스에 저장된 데이터를 시각화하는 방법으로 사내 데이터를 쉽게 확인하고 사용할 수 있도록 하는 경영자용 시각화 서비스이며 이 또한 BI도구입니다.

기본적인 BI 도구에서도 제공하지만 오픈소스 Self BI 로는 Linkedin의 Datahub, Lyft의 Amundsen 로 많이 사용하는 듯 합니다.

 

 

뱅크샐러드 Data Discovery Platform의 시작 | 뱅크샐러드

안녕하세요, 뱅크샐러드 Data Foundation의 Data Engineering팀 Data Engineer Jensen입니다. 뱅크샐러드의 데이터 파운데이션 조직은 데이터 기반 의사결정을 위해 존재하기에, 데이터 파운데이션의 미션은

blog.banksalad.com

 

데이터 디스커버리 플랫폼 도입기 - 1편. 데이터 디스커버리란?(feat. Datahub VS Amundsen 비교 분석)

Datahub 도입기

tech.socarcorp.kr

 

 


 

4. BI를 하기 위해서는 무엇이 필요할까요?

 

대시보드를 만들기 위해서는 제대로 설계된 데이터가 필요한데, SQL이나 스크립트를 사용해서 데이터를 만든 후 이를 BI도구로 읽어옵니다. 책에서 설명하는 방법으로는 3가지가 있습니다.

 

(1) BI도구에서 직접 데이터 소스에 접속하기

- 장점 : 시스템 구성이 간단함

- 단점 : BI 도구에서 지원하지 않는 형식이라면 불가능

 

(2) 데이터 마트를 준비하고 BI 도구로 열기

- 장점 : 어떤 테이블이라도 자유롭게 만들 수 있다.

- 단점 : 데이터 마트의 설치 및 운영에 시간이 소요된다.

 

(3) 웹 방식의 BI 도구로 CSV 파일 업로드 하기

- 장점 : 스크립트로 자유롭게 데이터를 가공할 수 있다.

- 단점 : 데이터 생성과 업로드에 프로그래밍이 필요하다.

 

3가지 중 (2) 데이터 마트를 준비해 BI 도구로 열기 가 자동화하기에 알맞으며 범용성이 높은 방법입니다.

 


 

5. 수집부터 BI까지의 데이터 파이프라인

 

그렇다면 데이터 마트는 어떻게 구축할 수 있을까요?

데이터 수집부터 차례대로 진행되는 데이터 파이프라인을 살펴보자면 아래와 같습니다. 

 

(1) 데이터 수집 → 데이터 처리
(2) 분산 스토리지에 저장
(3) 분산 데이터 처리
(4) Data Lake, DW
(5) 데이터 마트 → BI 

 

데이터 마트를 구축하기 위해서는 여러 단계를 거쳐야합니다.

간략하게 아래에 설명을 덧붙이지만 이를 바탕으로 앞으로 자세하게 글을 작성하고자 합니다. 

 


(1) 데이터 수집 → 데이터 처리 (스트리밍 처리, 배치처리)

 

스트리밍과 벌크형식으로 데이터들이 수집되며 실시간으로 처리할 것인지(스트리밍), 장기적으로 데이터를 저장해 분석할 것인지에 따라(배치) 처리를 다르게 합니다.

 

<데이터 형식>

 

1) 스트리밍(Streaming)

- 모바일 애플리케이션, 임베디드 장비 IoT 등에서 순서대로 생성되는 데이터

 

2) 벌크(Bulk)

- 데이터 베이스와 파일 서버에서 정기적으로 수집하는 데이터


(2) 분산 스토리지

 

수집된 데이터들을 여러 컴퓨터와 디스크로 구성된 분산 스토리지에 저장합니다.

 

1) 객체 스토리지 (Amazon S3)

- 한 덩어리로 모인 데이터에 이름을 부여해 파일로 저장

 

2) NoSQL

- Not Only SQL의 줄임말로 전통적인 RDB에 대한 제약을 없애고자 사용하며 여러 유형의 데이터베이스를 사용

- 장점으로는 동시에 읽고 쓰는 상황 가능

- 데이터의 일관성을 포기하고 여러 대의 컴퓨터에 데이터를 분산하여 저장하는 것(Scale - out)을 목표로 한다. 

- 분산 저장으로 시스템의 일부가 고장나도 DB 사용 가능

- 관계형 모델을 사용하지 않으며 테이블 간의 조인 기능이 없다.

- Redis, Cassandra, HBase, Cloud Firestore, MongoDB 등의 종류가 있다.

 

 

[번역] NoSQL vs Relational Databases

mongodb document - NoSQL vs Relational Databases를 번역합니다.

velog.io

 


(3) 분산 데이터 처리

 

분산 스토리지에 저장된 데이터를 처리하는 것은 데이터양과 처리 방법에 따라 많은 컴퓨터 자원이 필요합니다.

이후에 분석하기 쉽게 데이터를 가공하고 결과를 외부 데이터베이스에 저장하는 역할을 합니다. 

 

1) 쿼리 엔진 (Hive, 대화형 쿼리 엔진)

- SQL로 집계

 

2) ETL 프로세스

- Extract, Transform, Load의 과정을 거쳐 데이터 웨어하우스에 맞는 형식으로 변환하는 과정

 


(4) 데이터 웨어하우스, 데이터 레이크

 

1) 데이터 웨어하우스 (Data Warehouse)

 

대량 데이터를 장기보존하는 목적으로 설계되며 RDB, 로그와 같은 로우데이터를 가공해서 저장합니다.

위에서 말한 3-(2) ETL 프로세스를 통해 데이터가 저장되는 공간입니다.

기존에는 용량 제한, 과도한 비용으로 인해 확장이 어렵다는 단점이 있었지만

현재는 클라우드 데이터웨어하우스(Google BigQuery, Amazon Redshift)가 다양하게 존재합니다. 

 

 

클라우드 DW 선택 방법 및 주요 솔루션 | 인사이트리포트 | 삼성SDS

엔터프라이즈 데이터 웨어하우스(EDW)는 전사적으로 모든 역사적 데이터를 저장하는 통합 데이터베이스로 분석에 최적화돼 있습니다. 최근, 데이터 웨어하우스를 구축하는 기업은 온프레미스보

www.samsungsds.com

 

 

2) 데이터 레이크 (Data Lake)

0과 1로 이루어진 바이너리 데이터 등 DW에 들어가기에 적합하지 않은 데이터들을 먼저 아무렇게나 저장해두고

이후에 가공하는 구조입니다. 위에서 말한 (2) 분산 스토리지가 그대로 이용되는 형식입니다.

이대로는 데이터를 가공할 수가 없기 때문에 MapReduce 등의 기술을 사용해 분산 데이터 처리를 합니다.

 


 

(5) 데이터 마트 (Data Mart)

 

데이터 웨어하우스나 데이터 레이크로부터 시각화해서 보고자 하는 필요한 데이터만 가공, 집계해서 추출한 것을 데이터 마트라고 합니다.  이를 BI 도구와 연결해서 사용합니다. 

 


(+) 분산처리 프레임워크

 

Spark, Hadoop 등 분산처리 프레임워크는 다수의 컴퓨터에서 대량의 데이터를 처리하기 위한 시스템입니다.

사용자에게 다양한 데이터베이스 유형에 대한 처리 솔루션을 제공하며, 주로 Hadoop + Spark를 연계해 많이 사용합니다.

 

 

https://5ohyun.tistory.com/104

 

빅데이터 프레임워크 비교 분석

빅데이터 처리로 하둡이 대표적입니다.그렇다면 오늘 빅데이터 프레임워크인 Hadoop, Spark, Hive 하지만 추구하는목적과 용도가 다른 세 프레임에 대해서 알아봅시다.최근 기업에서 데이터 분석에

velog.io

 

What is Hadoop? – Databricks

하둡이란 무엇입니까? "하둡"이란 무엇을 의미할까요? 더 중요한 것은, "하둡"은 무엇의 약자일까요? 사실, 고가용성 분산형 객체 지향적 플랫폼(High Availability Distributed Object Oriented Platform)을 뜻합

www.databricks.com

 

빅 데이터와 Hadoop이 자주 함께 거론되는 이유

빅 데이터와 Hadoop이 자주 함께 거론되는 이유

www.tableau.com

 

 


 

BI를 목표로 빅데이터를 다루는 방법에 대해 살펴보고자 했습니다.

- BI의 개념과 목적
- BI 도구에는 어떤 것들이 있는지
- BI를 하기 위해서 필요한 조건
- 데이터 마트를 구축하기 위한 과정

 

 

해당 내용은  < 빅데이터를 지탱하는 기술 - 니시다 케이스케 > 

 1. 빅데이터의 기초 지식 을 참고하여 작성했습니다.

 

2. 빅데이터의 탐색

3. 빅데이터의 분산 처리

4. 빅데이터의 축적

5. 빅데이터의 파이프라인

6. 빅데이터 분석 기반의 구축   

 

순서로 정리하고자 합니다.

 

 

감사합니다😄

 

 

 

 

 

 

댓글