tech/database 12

dynamodb 내부구조

내부 아키텍처 이해dynamo db에서 partition key는 hash function 에 의해 2의 64승에 해당하는 파티션 유닛중 하나로 할당된다. 실제 파티션은 파티션 unit의 range 를 갖고 있는데, 어느 파티션의 range로 들어가는지에 따라 소속 파티션이 결정된다. 이때, 특정 파티션에 데이터가 몰릴 경우, 해당 파티션의 range를 반으로 쪼개어 새로운 파티션이 만들어지며 1개의 파티션에 몰려있던 데이터가 2개의 파티션으로 분산되는 과정이 반복된다. 만약 PK가 위의 2번 방식(composite)일 경우, 동일 파티션에 할당된 Partition key가 같은 여러데이터들은 sort key로 정렬되어 b-tree 구조에 저장된다. link  즉, 정리하자면 동일한 파티션키는 내부적인 ..

tech/database 2023.10.08

AWS Kinesis Data Stream 내부구조

현재 회사 서비스에 발생하는 데이터 스트림을 구축하고 있다. aws 에서 제공하는 aws kinesis data stream 를 사용할 일이 있어 내부구조 파악하고 있다.--- 아키텍처kinesis data stream 은 "분산 큐" "스트림 스토리지" 라는 개념으로 설명할 수 있다.즉, 아래 세가지 특성을 갖는다.1. queue2. distributed3. storage stream 별로 샤드수를 지정해야 하는데, 샤드는 인입되는 데이터가 저장되는 큐의 갯수라고 할 수 있다. 1개 샤드당 capacity, maximum total data read rate, maximum total records for writes, maximum total record rate 등 상한수치가 정해져있다. 따라서 인..

tech/database 2023.10.07