1. 알게된 것
1.1. 레코드 시스템 v.s. 파생 데이터 시스템
- 레코드 시스템
레코드 시스템은 진실의 근원
이다.
- 레코드 시스템과 다른 시스템 간에 차이가 난다면 정의에 따라 레코드 시스템이 항상 옳다
- 파생 데이터 시스템
다른 시스템에 존재하는 데이터를 가져와 특정 방식으로 변환하고 처리
한 결과
- 레코드 시스템과 파생 데이터 시스템은
도구에 의해 구분되는 것이 아니고 애플리케이션에서 어떻게
사용할지에 따라 결정된다.
1.2. 쏠림 다루기
- 불균형한 활성 데이터베이스 레코드 ⇒ 린치핀 객체 or 핫 키
- 예시: 수백만 팔로워를 가진 유명인사
레코드 Key 단위로 데이터셋을 나눠 데이터처리
를 하면 핫 키 레코드를 받은 노드가 병목
이 되므로 별도 조치가 필요하다.
- 브로드 캐스트 해시조인: 작은 테이블을 각 노드의 메모리에 저장하고 매핑해서 사용하기
- 예시: 주문 테이블은 큰테이블 이지만
배송사 정보 테이블은 작은 테이블
(택배사는 몇개 없음) 이때 배송사 정보 테이블을 메모리에 저장하기
1.3. 일괄 처리의 활용, MPP(Massively Parallel Processing, 대규모 병렬 처리)와의 비교
- 일괄 처리의 활용:
분석 목적도 있지만 검색 색인, 추천용 데이터와 같은 데이터셋
을 만들때 사용
- HDFS는
저장소의 다양성, 제약없는 데이터 덤핑이 장점으로 데이터를 해석하는 부담
을 소비자에게 이전 시킬 수 있음
- 일반적인
MPP는 모델링된 이상적인 데이터를 저장
하고, HDFS에는 그냥 원시데이터를 넣기도 (Data lake)