사용자 도구

사이트 도구


aws:dynamodb

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
aws:dynamodb [2019/01/16 13:59]
kwon37xi
aws:dynamodb [2023/09/05 10:28] (현재)
kwon37xi [비용 최적화]
줄 1: 줄 1:
 ====== AWS DynamoDB ====== ====== AWS DynamoDB ======
   * https://aws.amazon.com/ko/dynamodb/   * https://aws.amazon.com/ko/dynamodb/
 +  * [[https://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/bp-general-nosql-design.html#bp-general-nosql-design-approach|DynamoDB를 사용한 설계 및 아키텍처 설계 모범 사례 - Amazon DynamoDB]] : 가장 중요한 pitfalls 들이 나오므로 필독할 것.
   * [[https://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocal.html|DynamoDB 로컬 설정(다운로드 버전) - Amazon DynamoDB]]   * [[https://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DynamoDBLocal.html|DynamoDB 로컬 설정(다운로드 버전) - Amazon DynamoDB]]
   * [[aws:localstack|LocalStack]]   * [[aws:localstack|LocalStack]]
   * https://github.com/mhart/dynalite   * https://github.com/mhart/dynalite
 +  * https://mvnrepository.com/artifact/com.amazonaws/DynamoDBLocal?repo=mulesoft-public
  
-===== 고 =====+===== Primary Key ===== 
 +  * Primary Key = Partition Key + Sort Key 
 +  * Partition Key 는 필수이, Sort Key 는 선택이다. 
 +  * Primary Key 는 Unique 해야한다. 즉, Partition Key + Sort Key 는 Unique 해야한다. 
 +  * Sort Key 가 없을 때는 Partition Key 가 Unique 해야한다. 
 +===== Partition Key ===== 
 +  * 성능에 가장 중요한 요소로 작동하는 것이 Partition Key 이다. 
 +  * 절대로 한 번에 쓰기가 일어나거나, 읽기가 한번에 일어나는 파티션 키를 사용해서는 안된다. (예: 생성일자 같은 것은 사용금지) 
 +  * 전체에서 Unique 한 값이나 UUID 등 랜덤 분산이 될 법한 것을 키로 사용해야 한다. 
 +  * 굳이 날짜를 사용하겠다면 postfix 로 1~200 정도를 붙여서 파티션키를 만들고 조회도 200번 해서 합치게 한다. (예: ''2023-01-06.001 ~ 2023-01-06.200''
 +  * [[https://www.youtube.com/watch?v=XvD2FrS5yYM|AWS DynamoDB Schema Design | How to choose the right key - YouTube]]
  
 +===== dynamodb admin =====
 +  * https://www.npmjs.com/package/dynamodb-admin
 +
 +===== distributed lock 분산락 =====
 +  * [[https://aws.amazon.com/ko/blogs/database/building-distributed-locks-with-the-dynamodb-lock-client/|Building Distributed Locks with the DynamoDB Lock Client | AWS Database Blog]]
 +  * [[https://github.com/awslabs/amazon-dynamodb-lock-client|awslabs/amazon-dynamodb-lock-client: The AmazonDynamoDBLockClient is a general purpose distributed locking library built on top of DynamoDB. It supports both coarse-grained and fine-grained locking.]]
 +
 +===== 비용 최적화 =====
 +  * [[https://techblog.lotteon.com/%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9D%B8-dynamodb-%EC%9A%B4%EC%98%81%ED%95%98%EA%B8%B0-a44b6e3c3392|Dynamic했던 DynamoDB 비용효율화. Dynamo DB( 이하 ‘DDB’)는 잘 쓰면 약이지만 잘못 쓰면… | by Hyekyung | 롯데ON 기술 블로그]]
 +  * **Cost Explorer**로 비용 확인
 +  * PITR 끄기 : 단, 별도의 백업 방식을 두어야 함.
 +  * Standard IA : RCU, WCU의 사용이 적고 스토리지 사용이 많은 테이블 대상으로 적용하면 30%정도의 비용 효율을 볼 수 있는 옵션
 +  * TTL 두고 불필요한 데이터 자동 삭제
 +===== 참고 =====
   * [[https://aws.amazon.com/ko/blogs/database/resolve-to-follow-amazon-dynamodb-best-practices-in-2019/|Resolve to follow Amazon DynamoDB best practices in 2019 | AWS Database Blog]]   * [[https://aws.amazon.com/ko/blogs/database/resolve-to-follow-amazon-dynamodb-best-practices-in-2019/|Resolve to follow Amazon DynamoDB best practices in 2019 | AWS Database Blog]]
 +  * [[http://woowabros.github.io/study/2019/06/05/spring-data-dynamodb-1.html|Spring Boot에서 Repository로 DynamoDB 조작하기 (1) - 설정부터 실행까지 - 우아한형제들 기술 블로그]]
 +  * [[https://dev.classmethod.jp/articles/introduce_amazon_dynamodb/|AWS의 대표적인 NoSQL 데이터베이스 서비스! Amazon DynamoDB에 입문 해봅시다. | DevelopersIO]]
 +  * [[https://aws.amazon.com/ko/blogs/compute/exploring-serverless-patterns-for-amazon-dynamodb/|Exploring serverless patterns for Amazon DynamoDB | AWS Compute Blog]]
 +  * [[https://www.youtube.com/watch?v=2k2GINpO308|AWS DynamoDB Tutorial For Beginners - YouTube]]
  
aws/dynamodb.1547614741.txt.gz · 마지막으로 수정됨: 2019/01/16 13:59 저자 kwon37xi