접근 패턴 우선·트레이드오프 의식으로 데이터 구조 설계 기준 정립결
효율적인 데이터 구조 설계에서 제가 가장 중요하게 생각하는 요소는 접근 패턴입니다. 어떤 데이터를 어떤 방식으로, 얼마나 자주 읽고 쓰는지를 먼저 파악해야 적합한 구조가 보입니다. 구조를 먼저 선택하고 나중에 사용 패턴을 맞추려 하면 불필요한 변환이 늘어납니다.
게임 서버 구조를 학습할 때, 읽기가 압도적으로 많은 데이터와 쓰기가 잦은 데이터를 같은 테이블에 넣으면 어느 쪽이든 성능이 나빠진다는 것을 배웠습니다. 읽기 최적화와 쓰기 최적화는 방향이 다르기 때문에, 그 둘을 나누는 것이 설계의 출발점이었습니다.
다만 모든 최적화에는 트레이드오프가 있습니다. 조회 속도를 위해 데이터를 분산하면 일관성 유지가 복잡해집니다. 한 결을 살리면 다른 결이 줄어든다는 것을 의식하면서 설계하는 것이 중요하고, 어느 쪽 비용이 더 큰지를 기준으로 구조를 선택하는 방식을 씁니다.