개발도구 뉴스
Ok, but Does It Scale?
HNHacker News
데이터베이스의 확장성(Scalability)은 컴퓨팅 처리량, 저장 용량, 네트워크 대역폭 세 가지 차원으로 구분되며, 시스템마다 이를 구현하는 방식이 다릅니다.
세 줄 요약
- 단순히 컴퓨터를 늘리는 수평적 확장이 항상 성능 향상을 보장하지 않습니다. 특히 데이터 충돌(Contention) 발생 시 분산 조정 비용과 지연 시간이 병목을 일으킵니다.
- 따라서 시스템 설계 시에는 '확장 가능한가'보다 트랜잭션이 얼마나 독립적으로 병렬화될 수 있는지, 즉 데이터 지역성 확보가 핵심입니다.
- 충돌이 심한 경우, 분산 클러스터의 성능은 오히려 단일 코어 시스템보다 떨어질 수 있으므로 워크로드 특성에 맞는 아키텍처 선택이 필수적입니다.
데이터베이스의 확장성(Scalability)은 컴퓨팅 처리량, 저장 용량, 네트워크 대역폭 세 가지 차원으로 구분되며, 시스템마다 이를 구현하는 방식이 다릅니다.