본문 바로가기
Artificial Intelligence

[ADP, ADsP] 데이터 처리 순서: Legacy -> staging -> ODS -> DW -> DM -> R, SAS, PYTHON

by sohyunwriter 2020. 11. 19.

한때 BI 대시보드 개발을 위한 DW 구축 제안서 작업에 잠시 참여했던 적이 있다.

사실 캐글 등 해커톤에서나, 실제 현업에서는 대부분 csv로 떨궈서 데이터를 분석하지만, 

BI를 만들어야하거나, 대용량/실시간 데이터 처리를 해야하면 좀 복잡해진다.

 

데이터는 실시간으로 운영시스템에 쌓이는데, 이 데이터를 분석할 수 있도록 데이터 파이프라인을 구축해야하는 경우가 생기는데, 

운영시스템에 붙어서 분석을 할 수가 없기 때문이다. 

할 수는 있는데 처리 속도도 느리고, 쿼리를 잘못 날리면 모든 게 엉킬 수도 있다.

그래서 안 하는 것 같다.

 

그래서 OLTP로부터 OLAP을 구축하는데 (-> 사실 이건 어디까지나 batch 분석에 불과하다)

ADP 시험에서는 batch 분석 정도의 개념만 묻는 듯하지만, 

real-time analysis의 경우 kafka를 사용한다는 걸로 알고 있다.

아키텍처를 iot 등 센서 데이터를 kafka로 보내고 동시에 db에도 보내서 저장하는 것처럼 보이는데(정확하지는 않음),

정말 실시간 데이터 분석을 하는 기업들이 어떻게 분석하는지 좀 알고 싶다.

 

최근에 인턴을 했던 회사 역시 이 기업은 실시간 분석을 하는지 궁금해서, 공장 real time 분석이 정말 1초 단위의 real time 분석/제어가 가능한가라고 물었던 적이 있는데, 그렇게 하지는 않는다고 했다. 여러 이유(~~)로 batch 타임이라고.

그래서 아직까지는 어떤 기업도 애니메이션에서 본 것처럼 여기 이상하대 미리 감지하고 에러 띄어주고, 그리고 바로 조정할 수 있는 그 정도의 시스템이 갖춰지지는 않았다고 느꼈는데, 

사실 포털 서비스들을 보면 내가 방금 검색한 상품이나 영화를 기반으로 또 새로운 걸 추천해주고 하는 걸 보면, 이건 어떻게 아키텍처를 잡은거지 궁금하다. 모델링하는 부분에 대해서까지 실시간 추가되는 데이터에 대해 real time 학습일 거 같지는 않고, 모델링은 미리 해놓고 추가되는 데이터에 대해서만 결과를 보여주고, 모델링은 batch time으로 학습하지 않을까. 그렇다면 각 과정에서 어떤 툴을 사용해야 되는거지? 요즘 내 관심 분야다. 

 

아무튼 csv 갖고 노는 분석 수준 이상을 하고 싶을 때, 꼭 알아야 하는 데이터 처리 관련 용어들. 고전적인 내용들만 서술했다.

 

데이터 처리

*운영계 시스템(Legacy)

-기업 운영에 필요한 업무용 시스템

-트랜잭션 단위로 데이터 처리/저장 (OLTP, Online Transaction Processing)

 

*ODS(Operational Data Store)

-DW로 데이터를 저장하기 전에, 임시로 운영계 데이터를 보관하는 장소.

-운영계 시스템의 데이터는 트랜잭션을 중심으로 설계되어 있기 때문에, 운영계 시스템 데이터를 대상으로 데이터 분석을 진행할 경우 효용성이 떨어짐. 그래서 데이터 분석을 위한 DW(Data Warehouse)를 설계하고, 데이터를 보관하게 됨.

 

*DW(Data Warehouse)

-운영계 데이터를 사용자 관점에서 주제별로 통합하여, 별도의 장소에 저장해 놓은 통합 데이터베이스

-사용자가 쉽게 이해할 수 있고, 최소한의 조인으로 데이터를 획득할 수 있도록 매우 단순한 구조로 설계되어 있음

 

*DM(Data Mart, Fact)

-분석의 편의성을 높이고자, DW의 데이터를 주제별, 업무별로 요약하여 구성한 데이터 저장소

 

*데이터 처리 순서

Legacy -> staging -> ODS -> DW -> DM -> R, SAS, PYTHON

-운영시스템에 직접 접근해 데이터를 활용하는 것은 위험!

-staging: 운영시스템으로부터 제공받은 데이터를 아무런 변화없이 그대로 로딩하는 저장공간. temporary 성격의 공간으로 데이터 로딩의 첫 작업이 시작 DataStage를 사용하여 ETT 구현

-ODS: staging의 데이터를 데이터 정합성을 보장하는 형태로 변환해 ODS에 적재. 로딩 순서는 코드성 데이터, 마스터 데이터, 연동 데이터 순. DataStage를 사용하여 ETT 구현

-DataMart 생성(Fact 생성): ODS 데이터를 통해 분석용 통계정보의 생성 통계스크립트를 사용해 데이터 생성.

-신규 시스템이나 DW에 포함되지 못한 자료의 경우, ODS에서 데이터 전처리 후 DW나 DM과 결합해 활용할 수 있다.

 

 

 

 

 

 

dbrang.tistory.com/650

blog.daum.net/ipajama/91

propie.tistory.com/entry/%EA%B8%B0%EA%B0%84%EA%B3%84-%EC%A0%95%EB%B3%B4%EA%B3%84-%EC%9A%B4%EC%98%81%EA%B3%84

bangu4.tistory.com/62

hoonstudio.tistory.com/24