Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series

1,327 views

Published on

AWS에서는 애플리케이션의 목적과 특징에 맞는 다양한 클라우드 기반 데이터베이스 선택 옵션을 제공합니다. 본 세션에서는 클라우드 DB 서비스를 간단히 알아보고, 그 중에서도 DB 서버 및 클러스터 관리 및 운영에 대한 걱정이 전혀 없는 서버리스(Serverless) DB 서비스인 Amazon Aurora Serverless와 DynamoDB에 대해 자세히 알아봅니다. DB 관리 및 운영 등의 번거러운 작업은 AWS에 맡기고, 비지니스 로직에 필요한 데이터 모델 구성 및 쿼리 최적화 등에 집중하여 시장에 요구에 따른 비지니스에 민첩한 서비스를 만드는 방법을 알아 봅니다.

Published in: Technology
  • Be the first to comment

데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series

  1. 1. AWS Builders Online Series © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. 데이터베이스 운영, 서버리스로 걱정 끝! 윤석찬 @channyun 아마존웹서비스 테크에반젤리스트
  2. 2. 본 강연에서 다룰 내용 1. 클라우드 서비스 진화와 데이터베이스 선택 옵션 2. Amazon Aurora Serverless 3. Amazon DynamoDB On-demand 4. 기타 서버리스 DB 선택 옵션 – Amazon Timestream & QLDB 5. 참조 아키텍처 및 실습 등 관련 정보
  3. 3. 클라우드 서비스의 진화 Compute Linux EC2 Elastic Beanstalk AWS LambdaFargate Databases MySQL MySQL on EC2 RDS MySQL Aurora Aurora Serverless DynamoDB Storage HDD S3 Messaging ESBs Amazon MQ Kinesis SQS / SNS Analytics Hadoop Hadoop on EC2 EMR Athena EBS Volumes FSx File Server Elastic File Systems RabbitMQ on EC2 Elastic Container Service Redshift Glue Amazon SageMakerTensorflow on P3 Personalize Forecast Machine Learning Tensorflow on GPU On-Premises Less Cloud ServerlessManaged
  4. 4. 클라우드 서비스의 진화 ­ 데이터베이스 분야 애플리케이션 최적화 확장/증설 관리 고 가용성 구성 백업 및 복구 DB 패치 및 업그레이드 DB 설치 및 구성 OS 패치 및 업그레이드 OS 설치 및 구성 서버 운영 관리 전원/공조/랙 관리 개발자 애플리케이션 최적화 확장/증설 관리 고 가용성 구성 백업 및 복구 DB 패치 및 업그레이드 DB 설치 및 구성 OS 패치 및 업그레이드 OS 설치 및 구성 서버 운영 관리 전원/공조/랙 관리 애플리케이션 최적화 확장/증설 관리 고 가용성 구성 백업 및 복구 DB 패치 및 업그레이드 DB 설치 및 구성 OS 패치 및 업그레이드 OS 설치 및 구성 서버 운영 관리 전원/공조/랙 관리 애플리케이션 최적화 확장/증설 관리 고 가용성 구성 백업 및 복구 DB 패치 및 업그레이드 DB 설치 및 구성 OS 패치 및 업그레이드 OS 설치 및 구성 서버 운영 관리 전원/공조/랙 관리 On-Premises Less Cloud ServerlessManaged MySQL MySQL on EC2 RDS MySQL/Aurora Aurora Serverless DynamoDB
  5. 5. 서버 및 클러스터 관리 전혀 필요 없음 사용량에 따라 자동으로 확장 가능 고 가용성 및 자동 장애 복구 지원 컴퓨팅 사용량 기준으로만 과금 서버리스(Serverless) 데이터베이스란? $
  6. 6. Amazon DynamoDB Amazon ElastiCache for Redis & Memcached 키-값 인-메모리 Amazon Neptune 그래프관계형 DB 시계열 Amazon RDS Amazon Aurora Amazon DocumentDB 문서 with MongoDB compatibility Amazon Timestream 원장 Amazon QLDB for MySQL & PostgreSQL for MySQL, PostgreSQL, MariaDB, Oracle, SQL Server Key lookup 빠은 응답시간, 빠른 처리량 쉽고 빠르게 데이터 관계 생성 및 탐색 참조 무결성, ACID 트랜잭션, Schema- on-Write 각종 문서 저장 인덱싱 시간에 따른 순차 데이터 수집, 저장 및 처리 1/1000 초 미만의 응답시간. 메모리 스토어 모든 변경에 대한 완전, 불변, 검증 가능한 기록 실시간 입찰 장바구니 OLTP 소셜 네트워킹 추천 서비스 웹 서비스, 상품 카달로그, ERP, CRM 콘텐츠 관리, 개인에 맞춰 편집된 환경 관리 사물 인터넷, 시계열 로그 분석 리더 보드, 실시간 분석, 캐싱 헬스케어, 금융 정보, 공급망 관리, 판매 이력 AWS 데이베이스 빌딩 블록(Building Block) 요 구 사 항 주 요 특 징
  7. 7. • 키 값 데이터베이스는 관계형 DB의 성능 오버 헤드 및 스케일 제한없이 키 값 쌍을 대량 및 밀리 초 단위로 저장 및 검색하도록 최적화 • 실시간 입찰 (AdTech), 게임 및 IoT와 같은 인터넷 규모의 애플리케이션 • 관계형 데이터베이스는 열과 행이 있는 일련의 테이블로 구성된 데이터 항목 모음을 사전 정의 된 관계로 저장 • 기존 애플리케이션, ERP, CRM 및 전자 상거래 서버리스(Serverless) 데이터베이스 키-값 시계열 원장관계형 DB • 시간에 따른 순차 데이터 수집, 저장 및 처리 • 모든 변경에 대한 • 완전, 불변, 검증 가능한 기록 • 사물 인터넷, 시계열 로그 분석 • 헬스케어, 금융 정보, 공급망 관리, 판매 이력 Amazon DynamoDB Amazon Aurora for MySQL & PostgreSQL Amazon Timestream Amazon QLDB
  8. 8. Tip - RDB vs. NoSQL DB © 2010 https://labs.yahoo.com/news/yahoo-cloud-serving-benchmark 이 논문에서는 아마존의 핵심 서비스에서 ”Always-on"경험을 제공하기 위해 사용하는 고 가용성 키-값 스토리지 시스템 인 Dynamo의 설계 및 구현에 대해 설명합니다. © 2007 https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
  9. 9. Amazon Aurora 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스 1/10의 비용으로 상용 데이터베이스 수준의 성능 및 가용성 제공 성능 및 확장성 가용성 및 내구성 보안 및 암호화 • 표준 MySQL보다 5배, PostgreSQL보다 3배 빠른 성능 제공 • 15개의 읽기 전용 복제본으로 확장 가능 • 내결함성을 갖춘 자가 복구 분산 스토리지, • 3개의 가용영역에 걸친 6개의 복사본 • Amazon S3로의 지속적인 백업 • Amazon VPC를 통한 네트워크 격리 • 저장 및 전송 중 데이터 암호화 완전 관리형 • 하드웨어 프로비저닝, 소프트웨어 패치, 설정, 구성, 백업과 같은 DB 관리 작업 제공
  10. 10. Amazon Aurora의 읽기 및 쓰기 성능 200,000 170,000 9,536 5,592 0 50,000 100,000 150,000 200,000 250,000 Aurora 5.7 Aurora 5.6 MySQL 5.7 MySQL 5.6 Write Throughput 705,000 705,000 290,787 257,122 0 100,000 200,000 300,000 400,000 500,000 600,000 700,000 800,000 Aurora 5.7 Aurora 5.6 MySQL 5.7 MySQL 5.6 Read Throughput ✱ r4.16xlarge 인스턴스의 250개 테이블(테이블당 20만 Rows)에 대해 Sysbench 수행한 결과
  11. 11. RDB의 용량 및 확장 관리는 여전히 어렵다? 주요 사례 • 뉴스 웹 사이트에 예상치 못한 트래픽 ­ 읽기 복제본을 수동으로 증설(스케일-아웃)해야 함 • 갑작스런 데이터 입력 작업 ­ 쓰기 마스터를 수동으로 증설 (스케일-업) 해야 함 • 데이터베이스 테스트 및 배치 작업 ­ 수동으로 테스트 인스턴스 준비 및 실행 트래픽에 따라 용량 수동 증설 예상치 못한 트래픽에 대한 처리 개발/테스트/배치 등의 비주기성 작업
  12. 12. Aurora Serverless 소개 • 필요할 때 마다 온-디멘드로 시작하고, 사용하지 않을 때는 자동으로 종료 • 자동으로 컴퓨팅 용량 스케일 업/다운 (CPU 메모리 증설). 확장 시 애플리케이션 성능에 영향 없음 • ACU (Aurora Capacity Unit) 단위로 과금하고, 시작 시 최소 1 분 지불 및 이후 초당 과금 WARM POOL OF INSTANCES APPLICATION DATABASE STORAGE SCALABLE DB CAPACITY REQUEST ROUTERS
  13. 13. Demo 1. ­ Aurora Serverless
  14. 14. Aurora Serverless 동작 ­ 1. 트래픽 변화 인지 Availability zone 1 Region App Shared distributed storage volume Multi-tenant proxy layer Warm-pool of Aurora instances Monitoring service
  15. 15. Aurora Serverless 동작 ­ 2. 스케일 업/다운 Availability zone 1 Region App Shared distributed storage volume Multi-tenant proxy layer Warm-pool of Aurora instances Monitoring service
  16. 16. Aurora Serverless 동작 ­ 3. 무중단 서비스 Availability zone 1 Region App Shared distributed storage volume Multi-tenant proxy layer Warm-pool of Aurora instances Monitoring service
  17. 17. Aurora Serverless 동작 ­ 4. 자동 확장/축소 1 2 4 8 16 32 64 128 0 500 1000 1500 2000 2500 3000 10 200 390 580 770 960 1150 1340 1530 1720 1910 2100 2290 2480 2670 2860 3050 3240 3430 3620 3810 4000 4190 4380 4570 4760 4950 5140 5330 5520 5710 5900 6090 6280 6470 6660 6850 7040 7230 TPS ACU
  18. 18. 서버리스 앱을 위한 RDS Data API 수백만의 디바이스 및 애플리케이션 Data API fleet API End-point Amazon Aurora Serverless • 간단한 웹 인터페이스를 통한 DB 접근 및 질의를 위한 공개 엔드 포인트 • 클라이언트 구성이나 지속적인 연결 불필요 서버리스 애플리케이션 지원 (AWS Lambda) 모바일 애플리케이션 지원 (AWS AppSync) 사물 인터넷 애플리케이션 지원 (AWS IoT)
  19. 19. 서버리스 앱을 위한 RDS Data API ServerlessAPI sqlRequest = new ExecuteSqlRequest(); sqlRequest.setSqlStatements(String.format("Select count(*) from Demo.Cities where City = '%s' group by City;", city)); ServerlessAPI result = awsRDSDataAPI.executeSql(sqlRequest); Long peopleFromCityCount = result.getSqlStatementResults().get(0).getResultFrame().getRecords( ).get(0).getValues().get(0).getBigIntValue(); https://github.com/aws-samples/amazon-rds-data-api-demo • 데이터베이스를 위한 HTTP 기반 SQL 질의 • AWS SDK & CLI에서 손쉽게 DB 접근 가능 • AWS Lambda 및 AWS AppSync에서 DB 접근 가능 • 샘플 코드 Data API Service Aurora Serverless
  20. 20. Aurora Serverless 요금 산정 방식 요금 예시 데이터 베이스가 소비하는 스토리지, 컴퓨팅 용량 및 I/O에 대한 요금 만을 지불 Aurora Capacity Unit(ACU) 단위 - 1 CPU 2GM RAM
  21. 21. Amazon DynamoDB 통합적인 보안 기능 젝공 데이터 암호화 (기본 사항) 강력한 보안을 위해 AWS ID 및 액세스 관리와 완벽하게 통합 규모와 관계없이 일관된 성능 어떤 규모에서도 일관되게 수 밀리초 미만의 응답 시간 제공 거의 무제한의 처리량 필요한 애플리케이션 구축 가능 글로벌 서비스를 위한 데이터베이스 여러 AWS 리전으로 테이블을 쉽게 복제(Global Table)하여 빠르게 액세스 가능한 글로벌 애플리케이션 구축 서버리스 (Serverless) 서버 프로비저닝, 소프트웨어 패치 적용 및 관리 불필요, 용량에 맞게 테이블 자동 확장/축소하여 성능 유지 어떤 규모에서든 빠르고 유연한 Key-Value NoSQL 데이터베이스
  22. 22. DynamoDB ­ 용량 관리를 위한 방법 최대 사용량 목표 사용량 및 최대/최소 사용량 설정 사용하지 않아도 최소 읽기/쓰기 용량 설정 필요 모니터링에 따라 필요 용량 수동 설정 최대 사용량 Time Time Capacity Capacity
  23. 23. DynamoDB On-Demand 기능 • 트래픽에 따른 용량 모니터링이나 확장 설정 등이 필요 없음 • 트래픽 상승 및 하강 시 읽기/쓰기별 워크로드 자동 수용 • 수 밀리초 지연 시간 보장(SLA) 및 동일한 보안 기능 제공 • 미리 최소 용량 설정이 필요 없으며, 최대 용량 제한 없이 요청 당 요금 지불 가능 Time Capacity
  24. 24. Demo 2. ­ DynamoDB On-demand
  25. 25. DynamoDB On-Demand 요금 산정 방식 요금 예시 데이터 베이스가 소비하는 읽기/쓰기 용량 및 스토리지에 대한 요금 만을 지불 Read/Write Capacity (RCU/WCU) 단위 - 1KB
  26. 26. 더 자세한 정보 https://aws.amazon.com/rds/aurora/serverless https://aws.amazon.com/dynamodb
  27. 27. Amazon Timestream Preview 빠르고 확장 가능한 서버리스 시계열 데이터베이스 사물인터넷 및 대용량 시계열 로그 데이터 처리 가능 관계형 데이터베이스 1/10 비용, 1,000배 빠르게 초당 수백만 개의 데이터를 수집할 수 있는 속도 (10M/second) 수조 건의 일간 이벤트를 손쉽게 저장/분석 적응형 쿼리 처리 엔진을 통해 데이터를 더 간단하고 빠르게 분석 시계열 전용 분석 기능 제공 시계열 분석에 필요한 함수(interpolation, smoothing, approximation) 기본 탑재 서버리스 기반 확장성 제공 서버 및 클러스터 관리, 소프트웨어 패치 필요 없이 탄력적 확장성 제공
  28. 28. Amazon Quantum Ledger Database (QLDB) Preview 투명하고 변경 불가능 모든 트랜잭션 로그를 통해 변경 내역 추적, 검증 가능한 데이터 유지 관리 암호화 방식으로 검증 가능 암호화 함수(SHA-256)를 사용하여 데이터 변경 내역에 대한 무결성 검증 제공 사용 편의성 Data API를 통해 익숙한 SQL 연산자를 이용, 데이터 조회 및 변경 가능 서버리스 기반 확장성 제공 블록체인 프레임워크에서 제공하는 원장보다 2~3배 더 많은 트랜잭션 실행 가능 블록체인에서 요구하는 서버리스 원장 데이터베이스 애플리케이션에서의 모든 데이터 변경 기록 추적 및 확인
  29. 29. 다양한 클라우드 데이터베이스 선택 옵션 장바구니 - Write Heavy Amazon DynamoDB 추천 기능 - Graph Heavy Amazon Neptune 검색 기능 ­ Search Heavy Amazon Elasticsearch 상위 아이템 - Memory Heavy Amazon ElastiCache
  30. 30. 다양한 클라우드 데이터베이스 선택 옵션 https://github.com/aws-samples/aws-bookstore-demo-app
  31. 31. AWS 데이터베이스 활용 고객 사례 Verizon은 필수 업무필수 1,000 개 이상의 시스템 (애플리케이션 + 데이터베이스)를 AWS로 이전 일부DB를 Amazon Aurora로 운영 Amazon.com은 중요 업무 시스템의 97%에 달하는 Oracle 데이베이스 중 88%에 달하는 대상을 Amazon Aurora 와 DynamoDB로 전환 삼성전자는 삼성 클라우드에 이용되던 Cassandra 클러스터를 Amazon DynamoDB로 마이그레이션하여 70% 의 비용 절감을 경험 https://aws.amazon.com/ko/rds/aurora/customers/ https://aws.amazon.com/ko/dynamodb/#Customers … …
  32. 32. 다음 단계… • AWS 데이터베이스 서비스 실습 가이드 https://www.slideshare.net/awskorea/aws- database-hands-on-lab-aws-gaming-on-aws-2018 • RDS Reference Architecture Sample https://github.com/aws-samples/aws-dbs-refarch- rdbms • AWS Serverless Database Sample https://github.com/aws-samples/aws-serverless- crud-sample • AWS Bookstore Demo App https://github.com/aws-samples/aws-bookstore- demo-app
  33. 33. AWS 온라인 교육 과정 • AWS Cloud Practitioner Essentials AWS 클라우드의 기초를 배우고, AWS Certified Cloud Practitioner 공인 자격 시험을 준비할 수 있는 과정입니다. https://www.aws.training/Details/Curriculum?id=32442 • AWS 클라우드 보안 기초 AWS 액세스 제어 및 관리, 거버넌스, 로깅 및 암호화 방법 등 AWS의 보안 개념을 소개합니다. https://www.aws.training/Details/Curriculum?id=11048 • AWS 기반 빅데이터 기술 기초 표준 빅 데이터 솔루션에 대한 소개 및 이를 구축하기 위한 AWS 서비스를 소개합니다. https://www.aws.training/Details/Curriculum?id=11489 자신의 속도에 맞춰 학습하세요. 무료 AWS 디지털 교육을 통해 편한 시간에 원하는 장소에서 최신 클라우드 기술을 학습할 수 있습니다.
  34. 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. aws-korea-marketing@amazon.com twitter.com/AWSKorea facebook.com/amazonwebservices.ko youtube.com/user/AWSKorea slideshare.net/awskorea twitch.tv/aws AWS Builders Online Series에 참석해주셔서 대단히 감사합니다. 저희가 준비한 내용, 어떻게 보셨나요? 더 나은 세미나를 위하여 설문을 꼭 작성해 주시기 바랍니다.

×