공부/DB

데이터 인프라 (1/2) (OLAP,OLTP,DW,DL,ETL,ODS)

JangGiraffe 2023. 9. 9. 15:25

😄데이터 인프라 -1

😭틀린부분은 지적 부탁드려요

- ▶데이터 인프라 (1/2) : 전체적인 맥락 (OLAP와 OLTP, 데이터웨어하우스(DW),ETL,ODS 등등)
- 데이터 인프라 (2/2) : 우리회사의 데이터 인프라 (회사관련내용이라 포스팅하진 않으나 나중에 참고용으로 남겨둡니다)
큰 시스템에서 데이터가 흐르는 조직이 되려면, 다양한 데이터를 분석하려면 데이터 인프라가 잘 구축되어있어야한다.  
데이터 인프라를 구축하려면 DB만 있으면 되는게 아니고 다양한 기술과 여러가지 솔루션, 오픈소스, saas등이 엮여서 구축되는거다.
정말 다양하고 복잡한데, 아래 도표에 대해서 이해하는거를 목표로 공부 했다.

  • 아래 내용을 이해함에 있어 위 도표(Unified Data Infrastructure (2.0)를 계속 참고하면서 보길 바랍니당.
  • 아래건 2020년도버전
-   간단설명 : 소스에서 가져온 데이터를 변환하고 적재, 분석해서 보여준다가 데이터 인프라에서 하는 일임.
1.  source : 회사 내에 모든 데이터가 만들어지는곳
2.  Ingestion and transformation : 데이터를 가져와서 변환하는곳
3.  Stroage : 스토리지
4.  Query and Proceesing : 들어온 데이터 분석 및 예측 (머신러닝)
5.  Analysis and Output : 분석된 결과를 보여주는 곳 

😄데이터 인프라의 목적

  1. (분석시스템) 비즈니스 리더들의 의사결정을 도와주기
  2. (운영시스템) 서비스 / 제품을 데이터의 도움을 받아 향상시키기

😄Production System (Source) VS DW(Stroage~query and processing) VS DL(Stroage~query and processing)

Production System

  • ERP, CRM(ex salesforce), DB 등등 원천 데이터를 저장하는 시스템으로 시스템마다 모두 시스템에 맞게 정의된 방식으로 저장하고 있어 모두 다 다른 형태임.
    • 데이터를 정규화해서 가지고 있음 (다양한 테이블이 존재)

Data Warehouse

  • 통합된 보고서 작성을 위해 다양한 소스로 부터 추출(E),변환(T) 과정을 거친 데이터가 있는곳
    • 다차원(Dimensional) 데이터 모델을 사용함(우린 스타스키마 사용 중)
      • 통계용 데이터가 필요하기때문에 일반적인 DB 데이터와 저장방식이 다름(많은 계산을 요구하는 Join을 피하기 위함)
      • facts(사실 = 값) / deimensions(차원 = 조회조건) / 속성(attribute) / 속성계층(Hierarchies)로 구성됨
    • start scheme : 하나의 사실 테이블, 다수의 차원 테이블 / 데이터를 비정규화함

Data Lake

  • AI,ML및 고급 분석을 위해 정형,비정형의 다양한 원천데이터를 그대로 수집함

😄OLTP(Source) vs OLAP(Analysis and Output)

  • 둘 다 온라인 데이터 처리 프로세스이지만 차이가 있다.

OLTP (On-Line Transaction Processing)

  • 동시에 발생하는 다수의 트랜잭션을 실행하는 데이터 처리 프로세스임 (일반적인 데이터 CRUD가 포함됨)

OLAP (On-Line Analytical Processing )

  • 트랜잭션 데이터로부터 더 많은 인사이트를 추출하여 양질의 정보를 기반으로 한 의사결정을 내리는 데 활용할 수 있게 해줌

😄ETL (vs ELT)  Ingestion and Transport

ETL

  • 데이터 추출,변환,적재 3단계의 축약어로, 다양한 sources에서 다른 목적지로 이동시키는 과정을 말함 (DB에서 DB로, DB에서 DW로, 파일에서 DB로 등등 모든걸 의미함)
  • DB등등의 source에서 DB,DW,DM 등등으로 이동시킴
    • 추출(Extract) : 소스에서 데이터를 가져오는 ETL 프로세스의 시작 단계
    • 변환(Transform) : 추출한 데이터를 가공해서 목적지에 맞는 데이터로 변환하는 단계
    • 적재(Load) : 변환된 데이터를 목적지로 이동하고 저장하는 단계

ELT?

-   ETL의 큰 문제점 : 추출 - 변환이 자동화 될 수 없고 변환이 회사마다 시스템마다 다른 문제가 있음. 변환 시 오류도 많음.
-   ELT는 우선 추출 - 적재를 해서 다 넣고 (자동화 가능) 변환만 따로하는 프로세스

😄ODS(Operational Data Store) vs DW(Stroage~query and processing)

  • DW의 중간 영역으로 사용되는 DB.
  • 운영 시스템으로부터 Raw 데이터를 가져와 원본으로 저장함
  • 차이점
    • 쿼리 복잡도 : ODS가 상대적으로 간단하고 적은양의 데이터
    • 데이터 유형 : DW는 비즈니스 의사결정에 사용하기 위한 데이터를 저장하나 ODS는 현재상테의 데이터를 저장하기 때문에 데이터 범위가 제한됨
    • 불안정성 : 위와 같은 얘기긴한데 ODS가 더 변동성이 높음
    • 스키마 : DW는 고정된 스키마를 가져서 그에 따라 ETL프로세스가 필요함, ODS는 스키마에 따라 데이터를 보유함.

다른 재미있는 글들도 한번 보고 가세요

 

 

오라클 DB튜닝_소프트파싱,하드파싱

요새 회사에서 운영중인 서비스가 이런 저런 문제들로 조용할일이 없는데, 휴가를 다녀오고 보니 DB 성능문제로 시끄러웠다. 해결은 한 듯 해서 해결한 방법중에 한가지에 대해 정리하려고 한다

janggiraffe.tistory.com

 

오라클 DB튜닝_소프트파싱,하드파싱_2

오라클 DB튜닝_소프트파싱,하드파싱 요새 회사에서 운영중인 서비스가 이런 저런 문제들로 조용할일이 없는데, 휴가를 다녀오고 보니 DB 성능문제로 시끄러웠다. 해결은 한 듯 해서 해결한 방법

janggiraffe.tistory.com

 

반응형