NoSQL Workbench용 샘플 데이터 모델 - Amazon DynamoDB

NoSQL Workbench용 샘플 데이터 모델

모델 제작자 및 시각화 도우미 홈 페이지에는 NoSQL Workbench와 함께 제공되는 여러 샘플 모델이 나와 있습니다. 이 섹션에서는 이러한 모델 및 사용 가능한 용도에 대해 설명합니다.

직원 데이터 모델

이 데이터 모델은 소개 모델입니다. 고유한 별칭, 이름, 성, 직책, 상사 및 역량 같은 직원의 기본 세부 정보를 나타냅니다.

이 데이터 모델에서는 두 가지 이상의 역량 보유와 같은 복잡한 속성 처리 등의 몇 가지 기법을 보여줍니다. 또한 이 모델은 보조 인덱스인 DirectReports를 사용하여 얻은 상사 및 부하 직원들을 통한 일대다 관계의 예입니다.

이 데이터 모델에서 제공되는 액세스 패턴은 다음과 같습니다.

  • Employee 테이블에서 제공되는 직원의 로그인 별칭을 사용하여 직원 레코드 검색

  • Employee 테이블의 글로벌 보조 인덱스인 Name에서 제공되는 이름별로 직원 검색

  • Employee 테이블의 글로벌 보조 인덱스인 DirectReports에서 제공되는 상사의 로그인 별칭을 사용하여 상사의 모든 부하 직원 검색

토론 포럼 데이터 모델

이 데이터 모델은 토론 포럼을 나타냅니다. 이 모델을 사용하여 고객은 개발자 커뮤니티에 참여하고, 질문하고, 다른 고객의 게시물에 댓글을 달 수 있습니다. 각 AWS 서비스에는 전용 포럼이 있습니다. 누구라도 포럼에서 메시지를 게시하여 새 토론 스레드를 시작할 수 있으며 각 스레드는 여러 개의 회신을 받습니다.

이 데이터 모델에서 제공되는 액세스 패턴은 다음과 같습니다.

  • Forum 테이블에서 제공되는 포럼의 이름을 사용하여 포럼 레코드 검색

  • Thread 테이블에서 제공되는 포럼에 대한 특정 스레드 또는 모든 스레드 검색

  • Reply 테이블의 글로벌 보조 인덱스인 PostedBy-Message-Index에서 제공되는 게시 사용자의 이메일 주소를 사용하여 회신 검색

음악 라이브러리 데이터 모델

이 데이터 모델은 광범위한 노래 모음이 있는 음악 라이브러리를 나타내며 가장 많이 다운로드된 노래를 거의 실시간으로 보여줍니다.

이 데이터 모델에서 제공되는 액세스 패턴은 다음과 같습니다.

  • Songs 테이블에서 제공되는 노래 레코드 검색

  • Songs 테이블에서 제공되는 노래에 대한 특정 다운로드 레코드 또는 모든 다운로드 레코드 검색

  • Song 테이블에서 제공되는 노래에 대한 특정 월별 다운로드 횟수 레코드 또는 모든 월별 다운로드 횟수 레코드 검색

  • Songs 테이블에서 제공되는 노래에 대한 모든 레코드(노래 레코드, 다운로드 레코드 및 월별 다운로드 횟수 레코드 포함) 검색

  • Songs 테이블의 글로벌 보조 인덱스인 DownloadsByMonth에서 제공되는 가장 많이 다운로드된 노래 검색

스키장 데이터 모델

이 데이터 모델은 각 스키 리프트에서 매일 수집된 광범위한 데이터 모음이 있는 스키장을 나타냅니다.

이 데이터 모델에서 제공되는 액세스 패턴은 다음과 같습니다.

  • SkiLifts 테이블에서 제공되는 주어진 스키 리프트 또는 스키장 전체에 대한 모든 데이터(동적 및 정적 데이터) 검색

  • SkiLifts 테이블에서 제공되는 특정 날짜에서의 스키 리프트 또는 스키장 전체에 대한 모든 동적 데이터(고유 리프트 탑승자, 적설량, 눈사태 위험 및 리프트 상태 포함) 검색

  • SkiLifts 테이블에서 제공되는 특정 스키 리프트에 대한 모든 정적 데이터(리프트가 숙련된 탑승자 전용인 경우 수직 피트, 리프트 상승 및 리프트 탑승 시간 포함) 검색

  • SkiLifts 테이블의 글로벌 보조 인덱스인 SkiLiftsByRiders에서 제공되는 총 고유 탑승자별로 정렬된 특정 스키 리프트 또는 스키장 전체에 대해 기록된 데이터의 날짜 검색

신용카드 제안 데이터 모델

이 데이터 모델은 신용 카드 제안 애플리케이션에서 사용됩니다.

신용 카드 공급자는 시간이 지남에 따라 제안을 생성합니다. 이러한 제안에는 수수료 없이 잔액 이체, 신용 한도 증가, 낮은 금리, 캐시백 및 항공사 마일리지가 포함됩니다. 고객이 이러한 제안을 수락하거나 거부한 후에 각각의 제안 상태가 그에 따라 업데이트됩니다.

이 데이터 모델에서 제공되는 액세스 패턴은 다음과 같습니다.

  • 기본 테이블에서 제공되는 AccountId를 사용하여 계정 레코드 검색

  • 보조 인덱스인 AccountIndex에서 제공되는 몇 가지 예상된 항목이 있는 모든 계정 검색

  • 기본 테이블에서 제공되는 AccountId를 사용하여 계정 및 해당 계정과 연관된 모든 제안 레코드 검색

  • 기본 테이블에서 제공되는 AccountIdOfferId를 사용하여 계정 및 해당 계정과 연관된 특정 제안 레코드 검색

  • 보조 인덱스인 GSI1에서 제공되는 AccountId, OfferTypeStatus를 사용하여 계정과 연관된 특정 OfferType의 모든 ACCEPTED/DECLINED 제안 레코드 검색

  • 기본 테이블에서 제공되는 OfferId를 사용하여 제안 및 연관된 제안 항목 레코드 검색

북마크 데이터 모델

이 데이터 모델은 고객의 북마크를 저장하는 데 사용됩니다.

한 고객이 여러 북마크를 보유할 수 있으며 하나의 북마크에 여러 고객이 소속될 수 있습니다. 이 데이터 모델은 다대다 관계를 나타냅니다.

이 데이터 모델에서 제공되는 액세스 패턴은 다음과 같습니다.

  • 이제 customerId별 단일 쿼리를 통해 북마크뿐만 아니라 고객 데이터도 반환할 수 있습니다.

  • 쿼리 ByEmail 인덱스는 이메일 주소별로 고객 데이터를 반환합니다. 북마크는 이 인덱스에 의해 검색되지 않습니다.

  • 쿼리 ByUrl 인덱스는 URL별로 북마크 데이터를 가져옵니다. 동일한 URL을 여러 고객이 북마크할 수 있기 때문에 인덱스용 정렬 키로서 customerId를 제공하고 있습니다.

  • 쿼리 ByCustomerFolder 인덱스는 각 고객에 대한 폴더별로 북마크를 가져옵니다.