You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
정말 자세한 설명 좋았어요. 항상 RDB 관점에서만 생각했는데 신기하네요.
범용적인 쿼리를 빠르고 저렴하게 수행하는 스키마 설계가 글 전체를 잘 요약해 줘서 좋았습니다,
설계에서 데이터 모양이 쿼리 대상과 일치하도록 구성한다는 것이 어떤이야기인가요? aws dynamo 들어가서 봣는데 잘 모르겠어요.
요즘 mongodb, elk 공부하고 있어서 관심있던 주제였는데 진짜 잘 읽었습니다. 좋은글 감사합니다 :)
설계에서 데이터 모양이 쿼리 대상과 일치하도록 구성한다는 것이 어떤이야기인가요? aws dynamo 들어가서 봣는데 잘 모르겠어요.
RDB에서는 범용적으로 설계하고 테이블 속에서 적절히 쿼리를 사용하지만, NoSQL 상에서는 어떻게 쿼리 할 건지 미리 생각하며 그 쿼리의 모양에 영향받아 디비 테이블이 구성되어야 한다는 말이었습니다.
예를 들어 근로자 파티션 키가 부서이고, 정렬 키가 근로자 아이디인 NoSQL 근로자 테이블에서 근로자를 부서, 근로자 ID로 쿼리 한다고 한다고 가정합니다.
만약 해당 도메인에서 A 파티션에 근로자의 99%가 있고 나머지에 1%가 있다면, 위 예시 테이블에서 쿼리 시 특정 파티션에만 모이게 되므로 옳지 못한 쿼리가 됩니다. 그렇다면 적절한 설계의 예시로 근로자 아이디만 단일 PK로 구성하고 부서 값은 기본 속성 값으로 내리는 등 설계를 재구성할 수 있습니다.
실제로는 쿼리 대상이 하나가 아니기 때문에 적절한 인덱스를 포함하여 설계하는 등의 고려가 필요합니다.
DynamoDB로 NoSQL Table 설계하기
사내 MSA 환경에서 개발을 진행하며, 기존 제너럴하게 구성되어있던 데이터 모델을 특정 도메인으로 구체화하여 마이크로 서비스로 분리하는 작업을 진행하였습니다.해당 작업 진행 중 데이터베이스로 DynamoDB를 선택해서 사용하게 되었는데, 그에 따라 공부한
https://wnsgml972.github.io/database/2021/01/10/DynamoDB-Table-Design/
The text was updated successfully, but these errors were encountered: