3단계. 데이터 액세스 패턴 파악
액세스 패턴 또는 쿼리 패턴은 사용자와 시스템이 비즈니스 요구 사항을 충족하기 위해 데이터에 액세스하는 방법을 정의합니다.
목표
-
데이터 액세스 패턴을 문서화합니다.
프로세스
-
데이터베이스 엔지니어와 비즈니스 분석가가 최종 사용자를 인터뷰하여 데이터 액세스 패턴 매트릭스 템플릿을 사용하여 데이터를 쿼리하는 방법을 파악합니다.
-
새 애플리케이션의 경우, 활동과 목표에 대한 사용자 사례를 검토합니다. 이들은 사용 사례를 문서화하고 사용 사례에 필요한 액세스 패턴을 분석합니다.
-
기존 애플리케이션의 경우, 쿼리 로그를 분석해 현재 시스템을 사용하고 있는 사람의 수와 핵심 액세스 패턴을 파악해야 합니다.
-
-
데이터베이스 엔지니어는 액세스 패턴의 다음과 같은 속성을 파악합니다.
-
데이터 크기: 저장해야 할 데이터의 양과 한 번에 요청할 데이터의 양을 알면 가장 효과적으로 데이터를 파티션(분할)하는 방법을 결정할 수 있습니다.(블로그 포스트
참조) -
데이터 모양: 쿼리를 처리할 때 데이터를 변화시키는 대신(RDBMS 시스템의 방식), NoSQL 데이터베이스는 데이터베이스의 모양이 쿼리 대상과 일치하도록 데이터를 구성합니다. 이는 속도와 확장성 향상에 중요한 요소입니다.
-
데이터 속도: DynamoDB는 프로세스 쿼리에 사용할 수 있는 물리적 파티션의 수를 늘리고, 해당 파티션에 효율적으로 데이터를 배포해 조정합니다. 피크 쿼리 로드를 알면 I/O 용량을 가장 효과적으로 사용할 수 있는 데이터 파티션(분할) 방법을 결정하는 데 도움이 됩니다.
-
-
비즈니스 사용자가 액세스 또는 쿼리 패턴의 우선 순위를 지정합니다.
-
우선 쿼리는 일반적으로 가장 많이 사용되거나 가장 관련성이 높은 쿼리입니다. 또한, 응답 지연 시간이 짧아야 하는 쿼리를 파악하는 것도 중요합니다.
-
도구 및 리소스
-
액세스 패턴 매트릭스(템플릿 참조)
-
올바른 DynamoDB 파티션 키 선택
(AWS 데이터베이스 블로그) -
DynamoDB를 위한 NoSQL 설계(DynamoDB 설명서)
RACI
| 비즈니스 사용자 | 비즈니스 분석가 | 솔루션 아키텍트 | 데이터베이스 엔지니어 | 애플리케이션 개발자 | DevOps 엔지니어 |
|---|---|---|---|---|---|
C |
A |
정보 |
R |
결과
-
데이터 액세스 패턴 매트릭스
예제
액세스 패턴 |
우선순위 |
읽기 또는 쓰기 |
설명 |
유형(단일 항목, 여러 항목 또는 모두) |
키 속성 |
필터 |
결과 주문 |
|---|---|---|---|---|---|---|---|
사용자 프로필 생성 |
높음 |
쓰기 |
사용자가 새 프로필을 생성합니다. |
단일 항목 |
사용자 이름 |
N/A |
N/A |
사용자 프로필 업데이트 |
중간 |
쓰기 |
사용자가 프로필을 업데이트합니다. |
단일 항목 |
사용자 이름 |
사용자 이름 = 현재 사용자 |
N/A |