더북(TheBook)

11.6.1 데이터 저장소

트윗 서비스는 데이터베이스와 객체 저장소를 조합하여 트윗 데이터를 저장합니다.

데이터베이스(아파치 카산드라, 아마존 DynamoDB 등): 트윗 ID(tweetId), 사용자 ID(userId), 트윗 내용(content), 타임스탬프(timestamp) 같은 내용을 하나의 데이터에 담아 관계형 데이터베이스에 저장할 수 있습니다. 데이터가 각 노드에 고르게 분산되도록 파티션 키는 트윗 ID로 설정하며, 시간 순서대로 트윗을 효율적으로 조회하려고 클러스터링 키로 타임스탬프를 사용합니다.

객체 저장소(아마존 S3 등): 트윗에 첨부된 이미지나 동영상 등 미디어 파일은 객체 저장소에 개별 파일로 저장합니다. 각 파일에는 고유한 식별자를 부여하고, 데이터베이스의 트윗 정보에는 해당 미디어 파일의 고유 식별자를 참조로 포함합니다.

트윗 서비스에 필요한 API와 데이터 저장 방식을 다루었으니, 이제 트윗 생성과 조회가 어떤 흐름으로 처리되는지 살펴보겠습니다.

 

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.