[금융 IT] OLTP / ETL / ODS / DW / DM / OLAP

박세진·2021년 3월 3일
9
post-thumbnail

텔레그램 단체방에 이부장님이 내주신 문제가 오랜만에 올라왔다.
이번에도 열심히 공부해보자.


OLTP

: On-Line Transaction Processing ( 온라인 트랜잭션 처리 / 온라인 거래 처리)
: 기업 운영에 필요한 비즈니스 프로세스를 자동화한 시스템으로, 인사 / 급여 / 구매 / 생산 / 재고 / 물류 등 기업 운영의 전반적인 측면을 포함하고 있다.
: 정보를 트랜잭션 단위로 수집하고, 분류 / 저장 / 유지보수 / 갱신 / 검색하는 기능을 수행한다.
: OLTP 에서 발생한 데이터를 모두 DW에 저장.

참고
항공사의 예약시스템, 은행의 창구업무시스템 등이 대표적인 OLTP에 해당.
OLTP 시스템으로부터 필요한 데이터를 추출, 수정, 요약해서 의사결정을 지원할 수 있는 데이터베이스를 만든 것이 DW.
이에 접근해 데이터를 분석하고 의사결정에 활용하는 방법이 OLAP.

즉, OLAP는 OLTP와 대비되는 개념이라기보다는 OLTP를 활용하는 방법이라 할 수 있다.

굳이 차이점을 찾자면,
OLTP : 현재 업무의 효율적인 처리에만 관심이 있음
OLAP : 의사결정에 도움이 되는 데이터 분석에만 관심이 있음.

ETL

  • Extraction, Transformation, Loading 의 약자 (추출, 변환, 적재)
  • 다양한 데이터 원천으로부터 데이터를 추출 및 변환 하여 ODS(운영 데이터 스토어: Operational Data Store), DW(데이터 웨어하우스 : Data Warehouse), DM(데이터 마트 : Data Mart) 등에 데이터를 적재하는 작업의 핵심 구성요소.
  • 일반적으로 발생하는 데이터 변환에는 필터링, 정렬, 집계, 데이터 조인, 데이터 정리, 중복 제거 및 데이터 유효성 검사등의 다양한 작업이 포함된다.

참고사항

ETL은 대용량 데이터에 대한 일괄작업(Batch, 실시간의 반대 개념)을 통해 정형 데이터를 통합한다.
And 정형 데이터의 실시간 (혹은 근접 실시간 처리)와 통합에 관한 기술은 CDC, EAI

CDC

  • Changed Data Capture의 약자. 데이터 캡처 기술

    실시간으로 원천 데이터의 변경사항을 감지하여 이관하는 작업.
    다양한 방법으로 캡처를 진행하나, 로그를 읽어 변경을 반영하는 방법과 통신을 통한 변경이 주로 쓰인다.

CDC 솔루션의 원칙

복제 대상인 소스DB의 성능에 거의 영향을 주지 않고 타깃 DB로 실시간 복제를 실행.
이때 소스DB에 부하를 주지 않도록 별도의 타깃 DB를 생성하고 최초 1회만 마이그레이션을 수행한 후 소스DB의 데이터 변경내역 만을 읽어서 타깃DB에서 같은 작업을 수행함으로써 데이터의 정합성을 유지.

CDC 와 ETL

CDC와 ETL 모두 원천(Source) 데이터 정보를 추출하여 목표(Target) 시스템에 적재하는 개념은 동일하지만, 방법 / 사용목적 / 적재수준 에서 차이가 발생한다.

ETL

  1. 주목적 : 기간계 시스템의 하루일과를 다 끝내고 난 뒤 저녁에 기간계 Batch 프로그램 까지 다 실행되어 필요한 집계처리 까지 마무리한 상태에서 이들 데이터(원장 / 거래 / 집계)를 정보계 시스템에 넘겨 어떤 처리를 하고자 할 때 사용하는 방식

  2. 사용 기술 : CDC와 달리 시스템 테이블에 접근하는게 아니라, 기간계의 원장/거래/집계 테이블을 대상으로 그날의 변경분을 찾아 그걸 정보계 시스템에 전달하는 방식을 주로 사용.

    만약 변경분을 인식할 수 있는 컬럼이 존재하지 않는다면, 매일매일 해당 테이블의 모든 데이터를 ALL-COPY 방식으로 적재해야 한다.

  3. 적재 수준 : ETL은 원장/거래/집계 테이블을 원천데이터로 하기 때문에 적재주기(시간 / 일 / 월) 에 따라 적재 수준이 정해지게 된다.

    즉, 적재 주기가 2시간 간격으로 정해져 있다면, 적재 수준은 2시간 마다의 최종 데이터로 한정되게 된다.

CDC

  1. 주목적 : 실시간(Real-Time) or 준실시간(Near Real Time) 으로 원천시스템(기간계, 업무계) 데이터를 읽어들여 정보계 시스템 or 후선업무 시스템 등에 정보를 넘겨 어떤 처리를 하고자 할 때 사용하는 방식.

  2. 사용 기술 : 모든 거래 발생 이벤트를 추적해야 하기 때문에 DBMS 종류에 관계없이 변경 이력을 관리하는 DB Archive Log 를 주로 사용. CDC 솔루션의 데몬이 떠서 일정 시간별로 Archive Log를 읽어들여 타겟시스템에 쌓는 방식으로 대부분 작동.

  3. 적재 수준 : 원천 테이블이 아닌 시스템 테이블인 Archive Log 를 읽어 처리하므로, 적재 주기(시간 / 일 / 월) 에 관계없이 모든 원천 데이터의 변경사항이 적재 대상이 되게 된다.

ODS

: Operational Data Store ( 운영 데이터 스토어)
: DW로 데이터를 저장하기 전에, 임시로 운영계 데이터를 보관하는 장소.
: 운영계 시스템의 이력성 데이터를 보관

  ✔ 이력 데이터

  • 이미 존재하는 인스턴스의 속성 값이 변할 때, 기존 값(이력 / 스냅샷 데이터)을 관리하는 것.


    ✔ 이력 vs 내역

    이력 : 변경되는 데이터(변경 이력). UPDATE 수반
    내역 : 발생하는 데이터(발생 내역). INSERT 수반
    -> 판단 기준 : 업무 / 데이터 성격 XXX. 데이터 자체가 변경되는지 여부로 판단.

DW

  • Data Warehouse 의 약자.
  • 사용자의 의사결정에 도움을 주기 위해 다양한 시스템에서 데이터를 추출, 변환, 요약하여 능동적으로 사용자에게 제공할 수 있는 데이터베이스의 집합.
  • 기업전체의 전략적 관점에서 다양한 형태의 데이터를 최종 사용자가 질의/분석하기에 용이하도록 구성된 통합된 데이터 저장고와 다양한 기술의 구조적이고 통합적인 환경.

등장 배경

  • 기업환경의 변화
    : 전 세계적으로 정보 기술을 전략적으로 사용하는 기업들은 운영시스템 보다 분석시스템에 더 많이 투자하는 추세임.

  • 기존 정보시스템의 상황
    : 분석을 위해 별도의 시간/인력이 많이 필요함
    : 현재의 데이터 -> 과학적 기법에 의해 신속하게 분석/예측 곤란

  • 기존의 의사결정 지원 환경
    : 시스템은 통합되어 있지 않고, 데이터는 일관성이 결여됨
    : 이러한 데이터에서 제공되는 정보는 잘못된 의사결정을 내릴 수 있는 원인을 제공. 의사결정을 위한 자료로 부적절하다.

=> DW의 궁극적인 목적 : 의사결정을 위해 정보를 필요로 하는 사람들에게, 필요한 시간에 원하는 방식으로 정보에 접근할 수 있도록 하는 것.

DW 시스템을 지칭 할 때, ADW / EDW RDW 와 같이 업무를 세분화하고 영역을 나누어 부른다.

ADW

: Analytical Data Warehouse ( 분석 데이터웨어하우스 )
: 전사 데이터를 통합관리, 전사 활용 시스템에 제공하여 전사 관점의 통합 분석 자료를 제공하는 영역.

✔ 전사 : 기업 전체적인 으로 이해하면 될듯 !

EDW

: Enterprise Data Warehouse
:

RDW

: Real-Time Data Warehouse ( 실시간 데이터웨어하우스 )
: 원천 데이터 실시간 입수 및 실시간 분석/지표 제공으로 실시간 비즈니스 활용 기반을 구축하는 영역.

DW의 장점

  • 여러 시스템에 산재된 데이터들이 DW로 취합되고 통합되므로, 사용자는 자신이 필요로 하는 데이터를 쉽게 가져다 쓸 수 있다.
  • 데이터는 DW로 옮겨오기 전에 정제 및 검증과정을 거치기 때문에, 사용자는 양질의 데이터를 사용할 수 있다.

DM

: Data Mart
: DW 로부터 특정 주제/부서 중심으로 구축된 소규모 단일 주제의 DW.
: 이해관계가 동일한 사용자 집단에게 특화된 사용자 중심의 데이터 창고.

DW와 DM의 차이

DW가 모든 사업부문에 걸쳐 통합된 정보를 제공하기 위해 운영 시스템들로부터 데이터를 취합하는 장소 라면,
DM은 저장된 일정한 주제의 데이터를 별도의 저장장소에 분할/중복 저장하여 사용자들이 업무에 맞게 활용하기 위해 만들어진 장소라고 할 수 있음.

DM의 등장 배경

각종 정보나 분석 업무를 수행하기 위해 기업의 모든 사용자들이 DW에 직접 접근하여 질의를 수행하는 것 -> 현실적으로 무리임.
특히 규모가 大 인 기업이라면 DW에 방대한 양의 데이터가 저장되어 있고, 이 데이터를 필요로 하는 사용자의 수도 엄청 많다.
이런 사용자들이 한꺼번에 DW에 접근해 직접 질의를 수행한다면 전체 시스템 성능에 엄청난 부하를 줄 수 있고, DW가 사용자에게 유용한 정보를 제공하지 못할 수 도 있다.
그래서 DW와 사용자의 중간층이 필요하게 되었고, 이 중간층이 바로 DM이다.

OLAP

: On-Line Analytical Processing ( 온라인 분석 처리 )
: 최종 사용자가 정보에 직접 접근해 대화식으로 정보를 분석하고, 의사결정에 활용하는 과정.
: 단독으로 존재하지 않고, DW나 DM과 같은 시스템과 상호 연관된다.
:

  BI ( Business Intelligence)

  • 데이터를 통합 / 분석 하여 기업 활동에 연관된 의사결정을 돕는 프로세스를 말함.
  • 여러곳에 산재되어 있는 데이터를 수집하여 체계적, 일목요연하게 정리함으로써 사용자가 필요로 하는 정보를 정확한 시간에 제공할 수 있는 환경.

    관련 기술
  • DW & OLAP, Data Mining, ETL, ...

    필요성
  • 현대의 조직들은 정보화로 인해 Data는 넘치지만 최고경영자의 의사결정을 지원하는데는 부족함.
  • 최고 경영자의 의사결정 : 조직 내부 / 외부에 산재해 있는 과거~현재까지의 모든 데이터를 수집, 통합, 분석하는 경우가 많음.

profile
계속해서 기록하는 개발자. 조금씩 성장하기!

3개의 댓글

comment-user-thumbnail
2021년 12월 6일

좋은 정보 정말 잘 봤습니다. 면접 준비 중인데 큰 도움이 되었습니다.

답글 달기
comment-user-thumbnail
2022년 1월 13일

감사합니다!! 정리가 너무 깔끔하게 잘 되어있어서 이해에 도움이 됐어요!

답글 달기
comment-user-thumbnail
2024년 3월 6일

Every once in a while, a mobile game comes along that's very entertaining and challenging, but doesn't stand out because it's not from a major IP or well-known developer.
college brawl Download

답글 달기