NW-study / system-design-interview

8 stars 0 forks source link

[Volume 2][Chapter 06] Q&A #22

Open KKambi opened 4 months ago

KKambi commented 4 months ago

Parquet (파케이)

제목 없음 컬럼 방식으로 저장하는 데이터 파일

★대신 데이터 추가 시 불리함 (행 기반은 그냥 추가하면 되는데)


Star schema (별 모양의 스키마)

제목 없음

중심이 되는 팩트 테이블과 연결된 차원 테이블들이 존재한다.


핫스팟 해결 - Local Global Aggregation

w 왼쪽처럼 특정 집계 서비스에 데이터가 편향될 수 있다. 책에서는 스케일 아웃으로 대처했다.

핫스팟 해결 - Split Distinct Aggregation

w2 위와 같이 color를 group by 조건으로 사용하면서 + id를 distinct로 사용하려면 Local-Global Agg를 사용할 수 없다. id의 cardinality가 높으면 중복이 적어 편향은 여전히 발생한다.


w3 Split Distinct는 각 미니 배치에서 사전 집계를 수행하지 않는다. 대신 id를 n개의 그룹으로 나눈다. 아래 슈도 코드를 보면 해쉬코드로 4개의 그룹으로 분할했다.

# Apache Flink SQL
SELECT color, SUM(cnt)
FROM (
    SELECT color, COUNT(DISTINCT id) as cnt
    FROM T
    GROUP BY color, MOD(HASH_CODE(id), 4)
)
GROUP BY color
kihyun-yang commented 4 months ago

시계열 데이터베이스 - TSDB

카프카 Exactly once

맵리듀스

janeljs commented 4 months ago

p. 206

p.208

easyfordev commented 4 months ago

이번 챕터는 저희 조직에서 하는 일을 설명하는 부분이라서, 다른 챕터보다는 이해가 잘 되었고, 개인적으로는 현재 우리 조직의 설계와 비교하며 읽게 되었습니다. 담당자로서(?) 관련해서 책과 의견이 조금 다른 부분 등 의견을 공유해볼게요.

의견

우리도 이렇게 하고 있어요

질문