Data [ Engineer & Analytics &science ]/Data Engineer

[ Data Engineer ] 데이터 엔지니어링_금융 IT_01 : OLTP/ ETL/ ODS/ DW/ DM/ OLAP

안다미로 : Web3 & D.S 2025. 1. 8. 00:20

 

 

 

[ Data Engineer ] 데이터 엔지니어링_금융 IT_01

: OLTP/ ETL/ ODS/ DW/ DM/ OLAP

 


 

 

 


∇ OLTP


     : On-Line-Transaction Processing ( 온라인 트랙잭션 관리/ 온라인 거래 처리 )

 

        : : 기업 운영에 필요한 비즈니스 프로세스를 자동화한 시스템으로, 

               인사/급여/구매/생산/재고/물류 등 기업 운영의 전반적인 측면을 포함하고 있습니다.

 

        : : 정보를 트랜잭션 단위로 수집하고, 분류/ 저장/ 유지보수/ 갱신/ 검색하는 기능을 수행합니다.

 

        : : OLTP에서 발생한 모든 데이터를 DW(데이터 웨어하우스)에 저장합니다.

 

 

#참고

항공사의 예약 시스템, 은행의 창구업무 시스템 등이 대표적인 'OLTP'에 해당됩니다.

OLTP 시스템으로부터 필요한 데이터를 추출, 수정, 요약해서
의사결정을 지원할 수 있는 DB는 만든 것이 DW.

이것에 접근해서 데이터를 분석하고 의사결정에 활용하는 방법이 'OLAP' 입니다.

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

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

 


∇ ETL


  ◆ Extraction, Transformation, Loading 의 약자입니다. ( 추출, 변환, 적재 )

 

  ◆ 다양한 데이터 원천으로부터,  "데이터를 추출 및 변환" 하여

      ODS(운영 데이터 스토어 : Operational Data Store), DW(데이터 웨어하우스 : Data Warehouse ),

       DM(데이터 마트 : Data Mart) 등에 데이터를 적재하는 작업의 핵심 구성요소.

 

  ◆ 일반적으로 발생하는 데이터 변환에는

       [ 필터링, 정렬, 집계, 데이터 조인, 데이터 정리, 중복 제거 및 데이터 유효성 검사 등]의 다양한 작업이 포함됩니다.

 

 

 

 

     ※ 참고 사항.

 

         ETL은 대용량 데이터에 대한 일괄작업 ( Batch, 실시간의 반대 개념 ) 을 통해 정형 데이터를 통합합니다.

 

              ++ '정형 데이터'의 실시간(혹은 근접 실시간 처리)와 통합에 관한 기술은 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. "주목적"  : 실시간 or 준실시간 으로 원천시스템(기간계, 업무계) 데이터를 읽어들여서 

                                           정보계 시스템 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은 저장된 일정한 주제의 데이터를 "별도의 저장-장소에 분할/중복 저장하여 
       사용자들이 업무에 맞게 활용하기 위해 만들어진 장소" 라고 할 수 있음.
       
◎ DW의 등장 배경.
       
    - 각종 정보나 분석 업무를 수행하기 위해, 
       기업의 모든 사용자들이 DW에 직접 접근하여 질의를 수행하는 것   -> 현실적으로 무리.
       
    - 규모가 큰 기업일수록, DW에 방대한 양의 데이터가 저장, 
          데이터를 필요로 하는 사용자의 수도 많음.
          
          -> 사용자들이 한꺼번에 DW에 접근해 작업을 수행하면, 
               전체 시스템 성능에 엄청난 부하를 줄 수 있고,
              DW가 사용자에게 유용한 정보를 제공하지 못할 수 있음.
              
   => 그래서 DW와 사용자의 중간층이 필요로하게 되었고,
         이 중간층이 바로 DM !

 

 


∇ OLAP


    ◆ On-Line-Analytical Processing ( 온라인 분석 처리 )

 

    ◆ 최종 사용자가 정보에 직접 접근해 대화식으로 정보를 분석하고, 의사결정에 활용하는 과정.

 

    ◆ 단독으로 존재하지 않고, DW나 DM과 같은 시스템과 상호 연관.

 

 BI [ Business Intelligence ]
 
   - 데이터를 통합 / 분석하여 기업 활동에 연관된 의사결정을 돕는 프로세스를 말함.
   - 여러곳에 산재되어 있는 데이터를 수집하여 체계적, 일목요연하게 정리함으로써
       사용자가 필요로 하는 정보를 정확한 시간에 제공할 수 있는 환경.
       
 관련 기술
    - DW & OLAP , Data Mining, ETL,
    
    
필요성.
    - 현대의 조직들은 정보화로 인해 Data는 넘치지만 최고경영자의 의사결정을 지원하는데 부족.
    - 최고 경영자의 의사결정 : 조직 내부/외부에 산재해 있는 과거~현재까지의 모든 데이터를 
                              수집,통합,분석하는 경우가 많음.