6월 선정도서 - 빅데이터를 지탱하는 기술
선정계기 - 데이터가 쌓이고 흐르는 전체적인 구조를 깊이 있게 이해할 수 있고,
미래의 데이터엔지니어로써 해야하는 업무들의 전반적인 흐름을 파악할 수 있을 것 같아 선정(기대가 된다
목차
챕터4. 빅데이터의 축적
4-1. 벌크형과 스트리밍형 데이터의 수집
4-2. 메세지 배송의 트레이드 오프
4-3. 시계열데이터의 최적화
4-4. 비구조화 데이터의 분산 스토리지 (Dynamodb/Cassandra/MongoDB/ElasticSearch/Splunk)
스트리밍형 메세지배송에서는 메세지가 도착할떄까지 시간지연이 문제다.
늦게 도달하는 데이터가 집계속도에 어떤 영향을 미칠 것인가
프로세스 시간과 이벤트시간
이벤트시간 : 클라이언트 상에서 메시지가 생성된 시간
프로세스 시간 : 서버가 처리하는 시간, 분산스토리지에 데이터를 넣는 시간
데이터분석의 대상은 이벤트시간이기 떄문에 프로세스시간과의 차이에서 문제가 발생한다.
특정한 날에 발생한 모든 이벤트를 수집하려면 며칠동안 기다려야한다.
그리고 기다린 후에 특정한 날의 데이터를 찾기 위해 풀스캔해야하는 것이다.
이벤트시간의 집계 효율화 방법
시계열인덱스
이벤트 시간에 대해 인덱스를 만들고, 이를 기준으로 데이터를 정렬하는 것이다.
시계열인덱스에 대응하는 분산DB(카산드라)를 사용하면 처음부터 이벤트시간으로 인덱스된 테이블을 만들 수 있다.
장점 : 매우 짧은 범위의 특정시간에 맞춘 데이터집계가 빠르다. 실시간 대시보드를 만드는데 유용한다.
단점 : 장기간에 걸쳐 대량의 데이터를 집계하는 경우 효율적이지 않다.
조건절 푸쉬다운
통계를 이용하여 필요한 최소한의 데이터만 읽도록 하는 것이다.
이벤트 시간으로 데이터를 정렬한 후에 열지향 스토리지로 변환한다. (단 읽는 데이터의 양은 최소화하도록 정렬후 진행)
열지향 스토리지는 칼럼단위의 통계정보를 이용하여 최적화-> 어떤 파일의 어떤부분에 어떤데이터가 있는지 알수있다.
시계열테이블
이벤트 발생시간을 파티션의 이름에 포함하여 테이블을 분할 하는 것이다.
시계열테이블을 구성하고 있는 각 파티션에 새롭게 도착한 데이터를 매일 조금씩 추가한다.
결과적으로 분산스토리지에는 대량의 작은파일이 만들어지게 된다.
데이터마트
이벤트 시간에 의한 정렬을 고려하는 것이다.
데이터수집단계에서는 이벤트시간을 따지지 않고 프로세스 시간만을 사용하여 데이터저장,
데이터마트를 만드는 단계에서는 이벤트 시간에 의한 정렬을 수행한다.
그러면 파일이 조각나는 일도 없고, 항상 최적의 데이터마트를 유지한다.
'Book & Lesson' 카테고리의 다른 글
[책정리]빅데이터를 지탱하는 기술 5.2 배치형의 데이터 플로우 (0) | 2021.07.11 |
---|---|
[책정리]빅데이터를 지탱하는 기술 5.1 워크플로 관리 (0) | 2021.07.05 |
[책정리] 빅데이터를 지탱하는 기술 4.4 비구조화 데이터 분산스토리지 (2) | 2021.06.27 |
[책정리] 빅데이터를 지탱하는기술 4.2 메세지 배송의 트레이드 오프 (0) | 2021.06.26 |
[책정리] 빅데이터를 지탱하는 기술 4.1 벌크형/ 스트리밍형 데이터 수집 및 전송 (0) | 2021.06.23 |
[책정리] 빅데이터를 지탱하는 기술 3.3 데이터마트의 구축 (0) | 2021.06.23 |