본 글은 educative.io 의 Grokking Modern System Design Interview 코스의 Databases 챕터 내용을 정리한 글입니다. Why do we partition data? Data 는 조직에서 주요한 자산이고, 늘어나는 데이터와 동시성 읽기/쓰기 트래픽은 전통적 DB 가 확장성을 가지길 요한다. 전통적인 DB는 range query, secondary index, 트랜잭션 등의 속성때문에 매력적이다. 단일 노드 기반 DB 는 로드를 처리하기에 충분하지 않아서 데이터를 여러 노드로 분산시키면서도 RDB 의 좋은 특징들을 유지할 필요가 있는데, 실제로는 분산 DB 가 단일노드DB 의 특징을 가지게 하는 것은 어려운 일로 판명되었다. NoSQL 과 같은 시스템으로 데이터를..