철솜_STUDY
데이터 분석가가 반드시 알아야 할 모든 것_ CH.9 본문
Ch.9 _ 분석 환경 세팅하기
1. 데이터 처리 프로세스 이해하기
데이터의 흐름
OLTP > DW(ODS) > DM > OLAP
데이터의 흐름이란 데이터라는 제품이 생산되고, 창고에 저장했다가 소매점으로 옮겨진 후
최종적으로 소비자가 데이터를 갖게 되는 과정을 보여준다.
1. OLTP = On-Line Transaction Processing
데이터를 트랜잭션 단위로 수집, 분류, 저장하는 시스템으로 데이터가 생성되고 저장되는 처음 단계
2. DW = Data Warehouse
데이터 창고. 수집된 데이터를 사용자 관점에서 주제별로 통합해 저장해놓은 통합 데이터베이스
DW를 통해 OLTP를 보호하고 데이터 활용 효율을 높일 수 있다,
ODS의 경우 데이터를 DW에 저장하기 전에 임시로 데이터를 보관하는 중간 단계의 저장소이다.
DW는 전체 히스토리 데이터를 보관하는 반면, ODS는 최신 데이터를 반영하는 것에 목적이 있다.
3. DM = Data Mart 는 사용자 목적에 맞도록 가공된 일부 데이터가 저장되는 곳
기업에서 각 부서별로 필요한 데이터는 서로 다르기 때문에, 그 필요에 맞게 가공된 개별 데이터 저장소가 DM이다.
이렇게 저장된 데이터의 처리 프로세스의 가장 기본적인 개념이 ETL = Extract, Transform, Load 이다.데이터의 추출, 변환, 불러내기의 준말로 저장된 데이터를 사용자가 요구하는 포맷으로 변형시켜 이동시키는 작업을 말한다.
2. 분산데이터 처리
컴퓨터가 처리해야 하는 일을 여러 컴퓨터가 나눠서 한 다음 결과를 합치는 것.빅데이터의 처리에는 scale-up과 scale-out 방법이 있는데, 한 컴퓨터가 처리할 수 있는 정도를 키우거나 컴퓨터 여러 대가 병렬적으로 작업을 처리하는 것 여부로 구분하게 된다.
#HDFS
Hadoop Distributed File System = 하둡의 데이터 분산 시스템으로 slave node, master node, client machines 모듈로 구성.
slave node는 데이터를 저장하고 계산하는 역할, master node는 대량의 데이터를 HDFS에 저장하고 맵리듀스 방식을 통해 데이터를 병렬 처리한다. client machines은 맵리듀스 작업을 통해 산출된 결과를 사용자에게 보여준다.
# 맵리듀스
Mapreduce = Map과 Reduce라는 두 단계로 구성되는데, 맵은 흩어진 데이터 중 관련 있는 것들을 묶어 임시의 집합을 만들고, 리듀스 과정에서는 필터링과 정렬을 거쳐 데이터를 뽑아낸다. 이 과정에서 key-value 라는 쌍으로 데이터를 처리하게 된다.
맵리듀스는 slpliting > mapping > shuffling > reducing 과정을 거친다
spliting(분할)은 입력 데이터를 고정된 크기의 조각으로 분할하는 것이다. mapping은 분할 데이터를 key-value 형태로 묶고, 단어 개수를 계산한다.shuffling 은 매핑 단계의 count 결과를 정렬하고 병합한다reducing은 결과를 취합 및 계산해 최종 결과를 산출한다.
3. 테이블 조인과 정의서 & ERD
테이블을 이용해서 분석을 진행하기 때문에 꼭 테이블 구조에 익숙해질 필요가 있다!
또한 테이블을 적절히 활용하기 위해서 데이터 단어사전, 메타데이터 관리 시스템 및 테이블 정의서, ERD를 알아야 한다.
#테이블 조인
join = 테이블을 공통의 칼럼을 중심으로 결합하는 것inner join / outer join / left join / right join / full join / cross join
left / right join은 공통의 칼럼을 중심으로 남길 자료(left/right)를 선택하고, 해당 자료에 맞게 가져올 자료(right/left)를 선택하는 것.
inner / outer join은 겹치는 칼럼만 가져오거나 / 모든 칼럼을 살리는 경우를 말한다.
outer join의 경우 한 쪽 테이블에만 있는 칼럼을 합칠 경우 NULL(결측값) 로 칸을 나타내게 된다.
cross join 은 머신러닝에서 사용되는 데이터 셋을 생성할 때 사용한다.
예를 들어 5명의 고객 변수와 5개의 차량 간의 관계를 살펴보고 싶다면 고객과 5개의 차량을 모두 연결한 테이블을 만들 수 있다. 즉, 총 25 row를 가진 테이블이 생성되는 것이다.
#데이터 단어 사전 & 메타데이터 관리 시스템
데이터 단어 사전은 칼럼과 테이블의 이름을 정할 때 체계를 약속한 일종의 사전이다.
이를 약속하지 않는다면 데이터를 이해하는데 큰 어려움이 있기 때문에 숙지하는 것이 좋다.
메타데이터 관리 시스템은 데이터가 저장된 공간과 사용 용도에 관한 정보를 관리하는 시스템이다.
메타데이터는 각 테이블에 포함된 데이터의 속성, 테이블의 정보, 그리고 데이터 간의 관계를 정의한 데이터다.
전체적인 데이터가 있다면 이들을 어떻게 관리할 것인지 큰 그림이 필요한데 그런 기능을 한다고 볼 수 있다.
#테이블 정의서
DW, DM에 적재된 테이블과 칼럼의 한글, 영문명, 데이터의 속성, 간단한 설명이 정리된 표이다.
#ERD
Entity Relationship Diagram = 각 테이블의 구성 정보와 테이블 간 관계를 다이어그램으로 표현한 것
*ERWin 이라는 프로그램을 이용
각 테이블을 Entity라고 부르고, 테이블이 어떤 키로 연결돼 있는지 시각적으로 확인할 수 있다.
'Self-Taught > Data Analysis' 카테고리의 다른 글
데이터 분석가가 반드시 알아야 할 모든 것_CH.10_(1) (1) | 2024.09.29 |
---|---|
데이터 분석가가 반드시 알아야 할 모든 것 _ CH.8 (0) | 2024.09.29 |