

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 3단계. 데이터 액세스 패턴 파악
<a name="step3"></a>

액세스 패턴 또는 쿼리 패턴은 사용자와 시스템이 비즈니스 요구 사항을 충족하기 위해 데이터에 액세스하는 방법을 정의합니다.

## 목표
<a name="obj3"></a>
+ 데이터 액세스 패턴을 문서화합니다.

## 프로세스
<a name="proc3"></a>
+ 데이터베이스 엔지니어와 비즈니스 분석가가 최종 사용자를 인터뷰하여 데이터 액세스 패턴 매트릭스 템플릿을 사용하여 데이터를 쿼리하는 방법을 파악합니다.
  + 새 애플리케이션의 경우, 활동과 목표에 대한 사용자 사례를 검토합니다. 이들은 사용 사례를 문서화하고 사용 사례에 필요한 액세스 패턴을 분석합니다.
  + 기존 애플리케이션의 경우, 쿼리 로그를 분석해 현재 시스템을 사용하고 있는 사람의 수와 핵심 액세스 패턴을 파악해야 합니다.
+ 데이터베이스 엔지니어는 액세스 패턴의 다음과 같은 속성을 파악합니다.
  + 데이터 크기: 저장해야 할 데이터의 양과 한 번에 요청할 데이터의 양을 알면 가장 효과적으로 데이터를 파티션(분할)하는 방법을 결정할 수 있습니다.([블로그 포스트](https://aws.amazon.com/blogs/database/choosing-the-right-dynamodb-partition-key/) 참조)
  + 데이터 모양: 쿼리를 처리할 때 데이터를 변화시키는 대신(RDBMS 시스템의 방식), NoSQL 데이터베이스는 데이터베이스의 모양이 쿼리 대상과 일치하도록 데이터를 구성합니다. 이는 속도와 확장성 향상에 중요한 요소입니다.
  + 데이터 속도: DynamoDB는 프로세스 쿼리에 사용할 수 있는 물리적 파티션의 수를 늘리고, 해당 파티션에 효율적으로 데이터를 배포해 조정합니다. 피크 쿼리 로드를 알면 I/O 용량을 가장 효과적으로 사용할 수 있는 데이터 파티션(분할) 방법을 결정하는 데 도움이 됩니다.
+ 비즈니스 사용자가 액세스 또는 쿼리 패턴의 우선 순위를 지정합니다.
  + 우선 쿼리는 일반적으로 가장 많이 사용되거나 가장 관련성이 높은 쿼리입니다. 또한, 응답 지연 시간이 짧아야 하는 쿼리를 파악하는 것도 중요합니다.

## 도구 및 리소스
<a name="tools3"></a>
+ 액세스 패턴 매트릭스([템플릿](template-access-patterns.md) 참조)
+ [올바른 DynamoDB 파티션 키 선택](https://aws.amazon.com/blogs/database/choosing-the-right-dynamodb-partition-key/)(AWS 데이터베이스 블로그)
+ [DynamoDB를 위한 NoSQL 설계](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-general-nosql-design.html)(DynamoDB 설명서)

## RACI
<a name="raci3"></a>


****  

| 비즈니스 사용자 | 비즈니스 분석가 | 솔루션 아키텍트 | 데이터베이스 엔지니어 | 애플리케이션 개발자 | DevOps 엔지니어 | 
| --- | --- | --- | --- | --- | --- | 
| C | A | I | R |  |  | 

## 출력
<a name="outputs3"></a>
+ 데이터 액세스 패턴 매트릭스

## 예제
<a name="sample3"></a>


| **액세스 패턴** | **우선 순위** | **읽기 또는 쓰기** | **설명** | **유형(단일 항목, 여러 항목 또는 모두)** | **키 속성** | **필터** | **결과 순서 지정** | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| 사용자 프로필 생성 | 높음 | 쓰기 | 사용자가 새 프로필을 생성합니다. | 단일 항목 | 사용자 이름 | 해당 사항 없음 | 해당 사항 없음 | 
| 사용자 프로필 업데이트 | 중간 | 쓰기 | 사용자가 프로필을 업데이트합니다. | 단일 항목 | 사용자 이름 | 사용자 이름 = 현재 사용자 | 해당 사항 없음 | 