aws

Databases in AWS

ayleeee 2024. 4. 7. 03:01

Database Types

  • RDBMS ( = SQL/OLTP )
    • RDS
      • AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스
      • 산업 표준 관계형 데이터베이스를 위한 경제적이고 크기 조절이 가능한 용량을 제공
      • Auto-scaling capacity for Storage
      • Support for Read Replicas and Multi AZ
      • Security through IAM, Security Groups, KMS, SSL in transit
      • Automated Backup with Point in time restore feature (up to 35 days)
      • Manual DB Snapshot for longer-term recovery
      • Managed and Scheduled maintenance
      • Support for IAM Authentication, integration with Secrets Manager
      • Use Case : 
        • Store relational datasets
        • peform SQL queries
        • transactions
    • Aurora
      • Compatible API for PostgreSQL / MySQL, separation of storage and compute
      • Storage : data is stored in 6 replicas, across 3 AZ - highly available, self-healing, auto-scaling
      • Compute : Cluster of DB Instance across multiple AZ, auto-scaling of Read Replicas
      • Cluster : Custom endpoints for writer and reader DB instances
      • Same security / monitoring / maintenance features as RDS
      • Know the backup & restore options for Aurora
        • Aurora Serverless
        • Aurora Global
        • Aurora Machine Learning
        • Aurora Database Cloning
      • Use Case :
        • Same as RDS, but with less maintenance / more flexibility / more performance / more features
  • NoSQL database
    • DynamoDB(JSON)
      • AWS proprietary technology, managed serverless NoSQL database, millisecond latency
      • Capacity modes : provisioned capacity with optional auto-scaling or on-demand capacity
      • Can replace ElastiCache as a key/value store
      • Highly Available, Multi AZ by default, Read and Writes are decoupled, transaction capability
      • DAX cluster for read cache, microsecond read latency
      • Security, authentication and authorization is done through IAM
      • Event Proccessing 
        • DynamoDB Streams to integrate with AWS Lambda
        • Kinesis Data Stream
      • Global Table feature : active-active setup
      • Automated backups up to 35 days with PITR, or on-demand backups
      • Export to S3 without using RCU within the PITR window, import from S3 without using WCU
      • Greate to rapidly evolve schemas
      • Use Case :
        • Serverless applications development
        • Distrivuted serverless cache
    • ElastiCache(Key/value pairs)
      • Managed Redis / Memcached
      • In-memory data store, sub-millisecond latency
      • Select and ElastiCache instance type
      • Support for Clustering and Multi AZ, Read Replicas
      • Security through IAM, Security Groups, KMS, Redis Auth
      • Backup / Snapshot / Point in time restore feature
      • Managed and Scheduled maintenance
      • Requires some application code changes to be leveraged
    • Neptune(graphs)
    • DocumentDB(for MongoDB)
      • MongoDB is used to store, query, and index JSON data
      • Similar "deployment concepts" as Aurora
      • Fully managed, highly available with replication across 3 AZ
      • DocumentDB storage automatically grows in increments of 10GB
      • Automatically scales to workloads with millions of requests per seconds
    • Keyspaces(for Apache Cassandra)
      • 고가용성의 확장 가능한 관리형 Apache Cassandra 호환 데이터베이스 서비스
        • Tables are replicated 3 times across multiple AZ
      • 서버를 프로비저닝, 패치 또는 관리할 필요 X
      • 소프트웨어를 설치, 유지 관리 또는 운영할 필요 X
      • 서버리스
        • 사용하는 리소스에 대해서는 비용 지불
        • 서비스가 어플리케이션 트래픽에 따라 자동으로 테이블 규모를 확대/축소 할 수 있음
      • 사실상 무제한의 처리량과 스토리지로 초당 수천 건의 요청을 처리하는 애플리케이션 구축 가능
      • PITR(특정 시점으로 복구 ; Point-In-Time Recovery) up to 35 days
      • Use Case :
        • 낮은 대기 시간이 요구되는 애플리케이션 구축
        • 오픈 소스 기술을 사용하여 애플리케이션 구축
        • Cassandra 워크로드를 클라우드로 이전
        • 애플리케이션용 데이터 스토어 
  • Obejct Store
    • S3(for big objects)
      • key/value store for objects
      • Great for bigger objects, not so great for many small objects
      • Serverless, scales infinitely, max object size is 5TB, versioning capability
    • Glacier(for backups/archives)
  • Data Warehouse
    • Redshift
    • Athena
    • EMR
  • Search
    • OpenSearch - free text, unstructured searches
  • Graphs
    • Amazon Neptune
      • Fully managed graph database
      • 탁월한 확장성과 가용성을 제공하도록 설계된 서버리스 데이터 그래프 데이터베이스
        • High available across 3 AZ, with up to 15 read replicas
        • Build and run applications working with highly connected datasets
          • optimized for these complex and hard queires
      • 기본 제공 보안, 연속 백업 및 다른 AWS 서비스와의 통합 기능 제공
      • Neptune Global Database
        • 지연 시간이 짧은 읽기 및 쓰기, 재해 복구, 전 세계적으로 분산된 애플리케이션을 위한 확장성을 위한 리전 간 데이터 복제 기능 제공
      • Amazon Neptune Analytics
        • 대규모 그래프 데이터를 신속하게 분석
        • S3 버킷 또는 Neptune 데이터베이스에 저장된 데이터에서 인사이트를 얻고 추세를 찾아냄
  •  Ledger
    • Amazon Quantum Ledger Database
      • 투명하고, 변경 불가능하며, 암호화 방식으로 검증 가능한 트랜잭션 로그 제공
        • Immutable system : no entry can be removed or modified, cryptographically verifiable
      • 모든 애플리케이션 데이터 변경 내용을 추적하며 완전하고 검증 가능한 시간대별 변경 기록 유지
      • Fully Managed, Serverless, High available, Replication across 3 AZ
      • 2-3x better performance than common ledger blockchain frameworks, manipulate data using SQL
      • Use Case :
        • 금융 거래 저장
        • 공급망 시스템 조정
        • 청구 기록 유지
        • 디지털 레코드 중앙 집중화 
  • Time series
    • Amazon Timestream
      • 고속의 확장 가능한 서버리스 시계열 데이터베이스
      • 하루 수조건의 이벤트를 1,000배 더 빠른 속도로 저장하고 분석할 수 있음
      • 자동으로 스케일 업/다운하여 용량 및 성능 조정
        • 기본 인프라 관리할 필요 X
      • 최신 데이터는 메모리에 저장, 기록 데이터는 사용자 정의 정책을 기반으로 비용이 최적화된 스토리지에 저장
        • 수명 주기 관리 과정에서 시간과 비용을 절약할 수 있음
      • Use Case :
        • IoT 애플리케이션
          • 빠르게 분석하고 추세와 패턴 식별 가능
        • DevOps 애플리케이션
          • 운영 지표 수집, 분석하여 상태 및 사용량 모니터링, 실시간으로 데이터를 분석하여 성능과 가용성 개선
        • 분석 애플리케이션
          • 분석 및 인사이트용 추가 집계 기능 사용, 애플리케이션의 수신 및 발신 웹 트래픽 데이터 저장하고 처리

'aws' 카테고리의 다른 글

Machine Learning  (1) 2024.04.10
Data & Analytics  (1) 2024.04.08
Serverless Overview  (0) 2024.04.06
Containers on AWS  (0) 2024.04.05
AWS Integration & Messaging  (1) 2024.04.04