지금까지 내용을 중간 정리하면 다음과 같습니다.
• 클라이언트는 여러 서버 중 하나를 무작위로 골라서 로그온 요청을 합니다.
• 서버는 로그온 요청을 받으면 입력받은 ID를 해시 함수에 넣어서 샤드 인덱스를 구합니다.
• 서버는 해당하는 데이터베이스 샤드에 질의를 던져서 나머지를 실행합니다.
▲ 그림 10-8 해시 함수를 이용하여 샤드 액세스
이렇게 하면 수평 확장이 완성됩니다. 이렇게 만든 서버를 운영하다 더 많은 서버가 필요할 때가 생길 것입니다. 이때는 인증 서버와 데이터베이스 샤드 개수를 늘립시다.
Note 샤드 키
사용자 ID 내용을 해시 함수에 넣은 후 샤드 인덱스를 얻었습니다. 어떤 키로 레코드를 찾는데, 그 레코드를 찾기 전에 그것이 어느 데이터베이스 샤드에 있는지 먼저 알아내려는 목적으로 사용되는 키를 샤드 키(shard key) 혹은 파티션 키(partition key)라고 합니다.