클라우드/AWS

DynamoDB 란? (DynamoDB Stream, Kinesis Stream)

chanstory 2023. 3. 9. 23:16
반응형

 

Amazon DynamoDB 란?

  • AWS에서 제공하는 완전 관리형 NoSQL 데이터베이스 서비스
  • DynamoDB는 키-값 기반의 데이터 모델을 사용하며, 높은 확장성, 성능, 가용성, 보안 및 내구성을 제공
  • 클라우드 환경에서 확장성이 뛰어난 분산형 데이터 저장소로서, 매우 빠른 읽기 및 쓰기 성능을 제공
  • 스키마리스(Schemaless) 데이터 모델을 사용하기에 데이터 모델을 변경하거나 데이터 베이스 구조를 수정하는 작업이 매우 수월함
  • AWS Lambda, AWS Kinesis 등의 AWS 서비스와의 통합이 간편
  • 안정성과 내구성 보장을 위한 여러 보안 및 백업 기능 제공

 

DynamoDB Stream  vs  Kinesis Stream

 

DynamoDB Stream

  • DynamoDB 테이블에서 발생하는 모든 변경 사항을 캡처하고, 변경사항을 실시간으로 스트리밍 하는 서비스
    => 비동기적 처리
  • 완전 관리형 스트리밍 데이터 서비스
  • 예를 들어 Lambda 함수를 사용하여 DynamoDB 스트림을 처리하고, 해당 데이터를 다른 AWS 서비스에 전달할 수 있음
  • DynamoDB 스트림을 사용하여 지속적이니 데이터 복제, 데이터 흐름 모니터링, 트리거 기반 알림 등 다양한 구현 가능함
  • 각 변경 사항은 시간 순서대로 정렬되어 처리됨
  • 데이터의 삽입, 업데이트, 삭제 등이 데이터 변경 사항에 포함
  • DynamoDB 스트림은 24시간 동안 보존되며 더 오래 보존 하려면 Kinesis Data Streams를 사용하여 저장소에 전달

Kinesis Stream

  • 대규모 스트리밍 데이터 수집, 처리 및 분석에 사용되는 완전 관리형 스트리밍 데이터 서비스
  • kinesis 스트림을 사용하면 수백 만개의 스트리밍 데이터 소스에서 데이터를 실시간으로 수집하고 이를 어플리케이션에서 분석하고 처리할 수 있음
  • 스트림 데이터는 24시간 동안 저장되며, 필요 시 더 오래 저장 가능
  • 스트림 데이터 분석 시 Kinesis Analytics를 사용
  • 스트림 데이터 수집 및 저장 시 Kinesis Firehose를 사용
  • IoT, 모바일 어플리케이션, 로그 데이터 처리, 실시간 메트릭 처리 등 사례에 적합함

 

DynamoDB

반응형