"O Amazon DynamoDB é um serviço de banco de dados NoSQL, totalmente gerenciado, para aplicativos que precisam de latência consistente de um dígito de milissegundos em qualquer escala. Nesta sessão iremos explorar as capacidades e benefícios do DynamoDB em detalhes e iremos discutir como obter o máximo do seu banco de dados DynamoDB. Examinaremos as melhores práticas de design de schema com o DynamoDB em vários casos de uso, incluindo jogos, AdTech, IoT e outros.
Também exploraremos o design de índices eficientes, scanning e queries, e detalharemos as funcionalidades lançadas recentemente, incluindo o suporte a documentos JSON, Streams, Time-to-Live (TTL) e muito mais."
https://aws.amazon.com/pt/dynamodb/
Amazon DynamoDB is a fully managed NoSQL database service for applications that need consistent, single-digit millisecond latency at any scale. This talk explores DynamoDB capabilities and benefits in detail and discusses how to get the most out of your DynamoDB database. We go over schema design best practices with DynamoDB across multiple use cases, including gaming, AdTech, IoT, and others. We also explore designing efficient indexes, scanning, and querying, and go into detail on a number of recently released features, including JSON document support, Streams, and more.
Veja além de primeira página: Aprenda a otimizar e utilizar as melhores práticas do Amazon Redshift, banco de dados colunar e de processamento paralelo massivo, para aumentar a capacidade de entregar performance em queries com alto volume de dados em segundos ou milisegundos. Esta sessão explica como migrar ambientes de Data Warehouses existentes, criar schemas otimizados, fazer carga de maneira eficiente, utilizar o workload management, e otimizar suas queries, utilizando o Amazon Redshift com features avançadas.
https://aws.amazon.com/pt/redshift/
DynamoDB and Schema Design
The document discusses DynamoDB schema design and core concepts. It covers how to model different types of relationships in DynamoDB, using primary keys, secondary indexes, and global secondary indexes. It also discusses techniques for optimizing performance and minimizing costs, such as using projections, sparse indexes, and sharding indexes. The document provides an overview of DynamoDB components and new transactional APIs.
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
AWS SAM을 사용하게 된 계기를 설명드리고, AWS SAM template이 Cloudformation위에서 운영되기 때문에 Cloudformation에서 사용되는 주요 기능들을 설명합니다. 그리고 Infrastructure as code를 위한 Pipeline을 구축할 때 Cloudformation과 함께 사용할 수 있는 Tool들을 설명합니다. API Gateway, Lambda, SQS, SNS, DynamoDB(경우에 따라서는 VPC 설정과 함께 Elasticache와 RDS)로 구성된 비교적 단순한 시스템에 AWS SAM을 사용한 경험을 바탕으로 준비가 되었습니다. 아주 복잡한 시스템에 AWS SAM을 적용한 것이 아니기 때문에 이부분에서는 내용이 한계가 있을 수 있습니다.
Backing up Amazon EC2 with Amazon EBS Snapshots - June 2017 AWS Online Tech T...Amazon Web Services
This document provides an overview of using Amazon EBS snapshots to back up Amazon EC2 instances. It discusses what EBS is, how snapshots work, pricing, and how snapshots can be used for backup and disaster recovery, creating AMIs, and accessing public datasets. It also covers automating snapshot management using services like AWS Lambda, CloudWatch, and DynamoDB as well as solutions like the EBS Snapshot Scheduler.
Explore Amazon DynamoDB capabilities and benefits in detail and learn how to get the most out of your DynamoDB database. We go over best practices for schema design with DynamoDB across multiple use cases, including gaming, IoT, and others. We explore designing efficient indexes, scanning, and querying, and go into detail on a number of recently released features, including DynamoDB Accelerator (DAX), DynamoDB Time-to-Live, and more. We also provide lessons learned from operating DynamoDB at scale, including provisioning DynamoDB for IoT.
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalarAmazon Web Services LATAM
O documento discute estratégias para modelagem de dados no DynamoDB para diferentes casos de uso, incluindo um catálogo de produtos, jogo online multiplayer e aplicativo de mensagens. Exemplos mostram como distribuir dados em partições, usar filtros de consulta para melhorar desempenho e armazenar itens grandes para reduzir custos de transferência de dados.
DynamoDB를 게임에서 사용하기 – 김성수, 박경표, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/AlDhGn_-OCE
Amazon DynamoDB를 사용함에 있어서 흔히들 빠지는 실수, 그리고 이를 만회하기 위하여 필요한 제반 요소들을 살펴보는 시간을 가져보겠습니다. 제대로 설계된 DDB 테이블과 Application이 그렇지 않은 경우에 비하여 얼마나 효율적일수 있는지를 생각해봅니다.
Amazon DynamoDB is a fully managed NoSQL database service for applications that need consistent, single-digit millisecond latency at any scale. This talk explores DynamoDB capabilities and benefits in detail and discusses how to get the most out of your DynamoDB database. We go over schema design best practices with DynamoDB across multiple use cases, including gaming, AdTech, IoT, and others. We also explore designing efficient indexes, scanning, and querying, and go into detail on a number of recently released features, including JSON document support, Streams, and more.
Veja além de primeira página: Aprenda a otimizar e utilizar as melhores práticas do Amazon Redshift, banco de dados colunar e de processamento paralelo massivo, para aumentar a capacidade de entregar performance em queries com alto volume de dados em segundos ou milisegundos. Esta sessão explica como migrar ambientes de Data Warehouses existentes, criar schemas otimizados, fazer carga de maneira eficiente, utilizar o workload management, e otimizar suas queries, utilizando o Amazon Redshift com features avançadas.
https://aws.amazon.com/pt/redshift/
DynamoDB and Schema Design
The document discusses DynamoDB schema design and core concepts. It covers how to model different types of relationships in DynamoDB, using primary keys, secondary indexes, and global secondary indexes. It also discusses techniques for optimizing performance and minimizing costs, such as using projections, sparse indexes, and sharding indexes. The document provides an overview of DynamoDB components and new transactional APIs.
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
AWS SAM을 사용하게 된 계기를 설명드리고, AWS SAM template이 Cloudformation위에서 운영되기 때문에 Cloudformation에서 사용되는 주요 기능들을 설명합니다. 그리고 Infrastructure as code를 위한 Pipeline을 구축할 때 Cloudformation과 함께 사용할 수 있는 Tool들을 설명합니다. API Gateway, Lambda, SQS, SNS, DynamoDB(경우에 따라서는 VPC 설정과 함께 Elasticache와 RDS)로 구성된 비교적 단순한 시스템에 AWS SAM을 사용한 경험을 바탕으로 준비가 되었습니다. 아주 복잡한 시스템에 AWS SAM을 적용한 것이 아니기 때문에 이부분에서는 내용이 한계가 있을 수 있습니다.
Backing up Amazon EC2 with Amazon EBS Snapshots - June 2017 AWS Online Tech T...Amazon Web Services
This document provides an overview of using Amazon EBS snapshots to back up Amazon EC2 instances. It discusses what EBS is, how snapshots work, pricing, and how snapshots can be used for backup and disaster recovery, creating AMIs, and accessing public datasets. It also covers automating snapshot management using services like AWS Lambda, CloudWatch, and DynamoDB as well as solutions like the EBS Snapshot Scheduler.
Explore Amazon DynamoDB capabilities and benefits in detail and learn how to get the most out of your DynamoDB database. We go over best practices for schema design with DynamoDB across multiple use cases, including gaming, IoT, and others. We explore designing efficient indexes, scanning, and querying, and go into detail on a number of recently released features, including DynamoDB Accelerator (DAX), DynamoDB Time-to-Live, and more. We also provide lessons learned from operating DynamoDB at scale, including provisioning DynamoDB for IoT.
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalarAmazon Web Services LATAM
O documento discute estratégias para modelagem de dados no DynamoDB para diferentes casos de uso, incluindo um catálogo de produtos, jogo online multiplayer e aplicativo de mensagens. Exemplos mostram como distribuir dados em partições, usar filtros de consulta para melhorar desempenho e armazenar itens grandes para reduzir custos de transferência de dados.
DynamoDB를 게임에서 사용하기 – 김성수, 박경표, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/AlDhGn_-OCE
Amazon DynamoDB를 사용함에 있어서 흔히들 빠지는 실수, 그리고 이를 만회하기 위하여 필요한 제반 요소들을 살펴보는 시간을 가져보겠습니다. 제대로 설계된 DDB 테이블과 Application이 그렇지 않은 경우에 비하여 얼마나 효율적일수 있는지를 생각해봅니다.
The document provides an overview of Amazon DynamoDB, including its key capabilities like auto scaling, on-demand throughput capacity, and integration with other AWS services; it also discusses DynamoDB fundamentals like data modeling techniques, partitioning strategies to scale workload, and using secondary indexes to enable richer queries. Use cases that benefit from DynamoDB include applications that require massive scale, predictable low latency, or flexible schemas to support unstructured or semi-structured data like IoT, gaming metadata, social feeds, and e-commerce cart data.
Real-time Data Processing with Amazon DynamoDB Streams and AWS LambdaAmazon Web Services
This document summarizes a presentation about using Amazon DynamoDB Streams and AWS Lambda for real-time data processing. It discusses how DynamoDB Streams provides a log of item-level changes in DynamoDB tables and how Lambda functions can be triggered by these streams to run custom code. Examples are given of building applications that replicate data, perform auditing, and send notifications in real-time. The presentation includes a demo of setting up cross-region replication and data auditing using DynamoDB Streams and Lambda.
Airbnb Search Architecture: Presented by Maxim Charkov, AirbnbLucidworks
The document describes Airbnb's search architecture. It discusses how Airbnb indexes over 800,000 listings across 190 countries using Lucene and maintains the index in real-time. It also covers the various components involved in ranking search results, including over 150 ranking signals, loading ranking models, and performing second pass ranking on results.
Adventures with the ClickHouse ReplacingMergeTree EngineAltinity Ltd
Presentation on ReplacingMergeTree by Robert Hodges of Altinity at the 14 December 2022 SF Bay Area ClickHouse Meetup (https://www.meetup.com/san-francisco-bay-area-clickhouse-meetup/events/289605843/)
AWS를 사용하는 게임 고객사를 대상으로 ‘Amazon GameLift 세션’ 을 준비했습니다.
GameLift는 클라우드에서 세션 기반 멀티플레이 게임 서버를 배포, 운영, 조정하는 데 사용되는 완전 관리형 서비스로, 본 행사에서는 Amazon GameLift를 이용한 세션형 1:1 게임 배포 실습을 진행합니다.
Learn best practices for taking advantage of Amazon Redshift's columnar technology and parallel processing capabilities to improve your data warehouse performance.
This document provides an overview and agenda for a presentation on Amazon DynamoDB. It discusses key features of DynamoDB including its data model, scaling capabilities, and data modeling best practices. It also provides examples of how to model and query common data scenarios like event logging, product catalogs, messaging apps, and multiplayer gaming.
(BDT401) Amazon Redshift Deep Dive: Tuning and Best PracticesAmazon Web Services
Get a look under the covers: Learn tuning best practices for taking advantage of Amazon Redshift's columnar technology and parallel processing capabilities to improve your delivery of queries and improve overall database performance. This session explains how to migrate from existing data warehouses, create an optimized schema, efficiently load data, use work load management, tune your queries, and use Amazon Redshift's interleaved sorting features. Finally, learn how TripAdvisor uses these best practices to give their entire organization access to analytic insights at scale.
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...Amazon Web Services
Traditionally, content delivery networks (CDNs) were known to accelerate static content. Amazon CloudFront has come a long way and now supports delivery of entire websites that include dynamic and static content. In this session, we introduce you to CloudFront dynamic delivery features that help improve the performance, scalability and availability of your website, while helping you lower your costs. In this session we will talk about architectural patterns such as SSL termination, close proximity connection termination, origin offload with keep-alive connections and last-mile latency improvement. You will also learn how to take advantage of Amazon Route 53 health check, automatic failover and latency-based routing to build highly available web apps on AWS.
In this session, we’ll expand on the S3 re:Invent deep-dive session with a hands-on workshop on advanced S3 features and storage management capabilities. We’ll have AWS S3 and Glacier experts on-hand to deep-dive on S3 architecture, performance & scalability optimization, how to analyze your content and leverage storage tiers (S3 Standard, S3 Standard Infrequent Access, Glacier) to balance cost and SLAs, security considerations, replication with Cross Region Replication (CRR), versioning for data protection and more.
In the hands-on lab, we’ll walk through a customer scenario: architecting a high-performance infrastructure for consumer applications. In the scenario, we’ll use sample data sets on S3, analyze object retrieval patterns and design a complete solution using many of the features S3 offers including migrating objects to an appropriate tier.
Prerequisites:
- Participants should have an AWS account established and available for use during the workshop.
- Please bring your own laptop.
Jim Scharf will give a presentation on Getting Started with Amazon DynamoDB. The presentation will provide a brief history of data processing, compare relational and non-relational databases, explain DynamoDB tables and indexes, scaling, integration capabilities, pricing, and include customer use cases. The agenda also includes time for Q&A.
디지털 해적들로부터 영상 콘텐츠 보호하기 – 황윤상 AWS 솔루션즈 아키텍트, 김준호 잉카엔트웍스 매니저:: AWS Cloud Week ...Amazon Web Services Korea
영상 콘텐츠의 가장 큰 적은 바로 Digital Piracy입니다. 이 세션에서는 AWS를 이용하여 미디어 서비스를 제공하고자 할 때, 어떻게 소중한 미디어 콘텐츠를 보호할 수 있는지 살펴봅니다. Amazon Cloudfront의 OAI 및 Signed URL, Cookie를 사용하여 콘텐츠 접근을 제어하는 방법과 AWS Elemental 서비스가 제공하는 DRM 프로토콜인 SPEKE를 살펴본 후, DRM 파트너인 잉카엔트웍스의 김준호 매니저를 모시고 실제 DRM 서비스의 구성 방법과 데모, 적용 사례를 확인해 봅니다.
Provides an overview of Redis which is a Key Value NoSQL database and the different data types it supports. Also shows how to use Redis Client API from node.
This document provides tips and best practices for using Amazon DynamoDB. It discusses using indexes like local secondary indexes (LSI) and global secondary indexes (GSI) as well as scaling DynamoDB. It also covers data modeling patterns for different types of relationships and using DynamoDB for scenarios like storing time series data and building catalogs. The document provides two case studies for using DynamoDB with other AWS services like S3, Lambda, Elasticsearch and EMR/Hive to enable big data analytics.
If you’re familiar with relational databases, designing your app to use a fully-managed NoSQL database service like Amazon DynamoDB may be new to you. In this webinar, we’ll walk you through common NoSQL design patterns for a variety of applications to help you learn how to design a schema, store, and retrieve data with DynamoDB. We will discuss best practices with DynamoDB to develop IoT, AdTech, and gaming apps.
Best Practices: Operational Checklists for the AWS Cloud - AWS NYC Summit 2012Amazon Web Services
This document provides operational checklists for using AWS, including a basic operations checklist and an enterprise operations checklist. The basic checklist covers security, EC2 usage, HA/backup, and application deployment testing. The enterprise checklist covers billing, security, asset management, HA/resilience, DR/backup, monitoring, configuration management, and release deployment. It also provides an example of how Monetate, a SAAS marketing company, uses the AWS cloud for operations.
본 게시물은 2019년 6월 18일에 AWS Game Team에서 진행한 GameLift 교육 자료입니다. GameLift는 클라우드에서 세션 기반 멀티플레이 게임 서버를 배포, 운영, 조정하는 데 사용되는 완전 관리형 서비스입니다. Amazon GameLift를 사용해 최고의 동급 전용 게임 서버 호스팅을 확보하십시오.
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...Amazon Web Services Korea
<쿠키런:킹덤> 게임 유저 수가 급증하면서 지금까지 겪어보지 못했던 대규모 인프라 환경을 운영하게 되었고, 그 과정에서 다양한 문제점들에 부딪히게 되었습니다. 이 세션에서는 AWS에서 Stateful 한 게임 서버를 어떻게 운영해야 하는지 아키텍처 관점에서 먼저 설명한 후, 수 백만 명의 사용자를 감당하기 위해 해결해야 했던 어려움에 대해 Scalability 관점에서 설명해드립니다.
O documento explica como o PostgreSQL usa estatísticas para estimar o custo e número de linhas de consultas SQL, melhorando o desempenho ao reduzir acessos desnecessários ao disco. Detalha onde são armazenadas as estatísticas, seus tipos e como são usadas para cálculos de seletividade que influenciam o planejamento de consultas.
Este documento discute SQL e o uso de bancos de dados relacionais. Ele fornece uma introdução aos principais conceitos de SQL como DDL, DML, consultas, funções agregadas e operadores relacionais. Também apresenta exemplos de como criar e manipular tabelas, banco de dados e consultas em SQL.
The document provides an overview of Amazon DynamoDB, including its key capabilities like auto scaling, on-demand throughput capacity, and integration with other AWS services; it also discusses DynamoDB fundamentals like data modeling techniques, partitioning strategies to scale workload, and using secondary indexes to enable richer queries. Use cases that benefit from DynamoDB include applications that require massive scale, predictable low latency, or flexible schemas to support unstructured or semi-structured data like IoT, gaming metadata, social feeds, and e-commerce cart data.
Real-time Data Processing with Amazon DynamoDB Streams and AWS LambdaAmazon Web Services
This document summarizes a presentation about using Amazon DynamoDB Streams and AWS Lambda for real-time data processing. It discusses how DynamoDB Streams provides a log of item-level changes in DynamoDB tables and how Lambda functions can be triggered by these streams to run custom code. Examples are given of building applications that replicate data, perform auditing, and send notifications in real-time. The presentation includes a demo of setting up cross-region replication and data auditing using DynamoDB Streams and Lambda.
Airbnb Search Architecture: Presented by Maxim Charkov, AirbnbLucidworks
The document describes Airbnb's search architecture. It discusses how Airbnb indexes over 800,000 listings across 190 countries using Lucene and maintains the index in real-time. It also covers the various components involved in ranking search results, including over 150 ranking signals, loading ranking models, and performing second pass ranking on results.
Adventures with the ClickHouse ReplacingMergeTree EngineAltinity Ltd
Presentation on ReplacingMergeTree by Robert Hodges of Altinity at the 14 December 2022 SF Bay Area ClickHouse Meetup (https://www.meetup.com/san-francisco-bay-area-clickhouse-meetup/events/289605843/)
AWS를 사용하는 게임 고객사를 대상으로 ‘Amazon GameLift 세션’ 을 준비했습니다.
GameLift는 클라우드에서 세션 기반 멀티플레이 게임 서버를 배포, 운영, 조정하는 데 사용되는 완전 관리형 서비스로, 본 행사에서는 Amazon GameLift를 이용한 세션형 1:1 게임 배포 실습을 진행합니다.
Learn best practices for taking advantage of Amazon Redshift's columnar technology and parallel processing capabilities to improve your data warehouse performance.
This document provides an overview and agenda for a presentation on Amazon DynamoDB. It discusses key features of DynamoDB including its data model, scaling capabilities, and data modeling best practices. It also provides examples of how to model and query common data scenarios like event logging, product catalogs, messaging apps, and multiplayer gaming.
(BDT401) Amazon Redshift Deep Dive: Tuning and Best PracticesAmazon Web Services
Get a look under the covers: Learn tuning best practices for taking advantage of Amazon Redshift's columnar technology and parallel processing capabilities to improve your delivery of queries and improve overall database performance. This session explains how to migrate from existing data warehouses, create an optimized schema, efficiently load data, use work load management, tune your queries, and use Amazon Redshift's interleaved sorting features. Finally, learn how TripAdvisor uses these best practices to give their entire organization access to analytic insights at scale.
Dynamic Content Acceleration: Fast Web Apps with Amazon CloudFront and Amazon...Amazon Web Services
Traditionally, content delivery networks (CDNs) were known to accelerate static content. Amazon CloudFront has come a long way and now supports delivery of entire websites that include dynamic and static content. In this session, we introduce you to CloudFront dynamic delivery features that help improve the performance, scalability and availability of your website, while helping you lower your costs. In this session we will talk about architectural patterns such as SSL termination, close proximity connection termination, origin offload with keep-alive connections and last-mile latency improvement. You will also learn how to take advantage of Amazon Route 53 health check, automatic failover and latency-based routing to build highly available web apps on AWS.
In this session, we’ll expand on the S3 re:Invent deep-dive session with a hands-on workshop on advanced S3 features and storage management capabilities. We’ll have AWS S3 and Glacier experts on-hand to deep-dive on S3 architecture, performance & scalability optimization, how to analyze your content and leverage storage tiers (S3 Standard, S3 Standard Infrequent Access, Glacier) to balance cost and SLAs, security considerations, replication with Cross Region Replication (CRR), versioning for data protection and more.
In the hands-on lab, we’ll walk through a customer scenario: architecting a high-performance infrastructure for consumer applications. In the scenario, we’ll use sample data sets on S3, analyze object retrieval patterns and design a complete solution using many of the features S3 offers including migrating objects to an appropriate tier.
Prerequisites:
- Participants should have an AWS account established and available for use during the workshop.
- Please bring your own laptop.
Jim Scharf will give a presentation on Getting Started with Amazon DynamoDB. The presentation will provide a brief history of data processing, compare relational and non-relational databases, explain DynamoDB tables and indexes, scaling, integration capabilities, pricing, and include customer use cases. The agenda also includes time for Q&A.
디지털 해적들로부터 영상 콘텐츠 보호하기 – 황윤상 AWS 솔루션즈 아키텍트, 김준호 잉카엔트웍스 매니저:: AWS Cloud Week ...Amazon Web Services Korea
영상 콘텐츠의 가장 큰 적은 바로 Digital Piracy입니다. 이 세션에서는 AWS를 이용하여 미디어 서비스를 제공하고자 할 때, 어떻게 소중한 미디어 콘텐츠를 보호할 수 있는지 살펴봅니다. Amazon Cloudfront의 OAI 및 Signed URL, Cookie를 사용하여 콘텐츠 접근을 제어하는 방법과 AWS Elemental 서비스가 제공하는 DRM 프로토콜인 SPEKE를 살펴본 후, DRM 파트너인 잉카엔트웍스의 김준호 매니저를 모시고 실제 DRM 서비스의 구성 방법과 데모, 적용 사례를 확인해 봅니다.
Provides an overview of Redis which is a Key Value NoSQL database and the different data types it supports. Also shows how to use Redis Client API from node.
This document provides tips and best practices for using Amazon DynamoDB. It discusses using indexes like local secondary indexes (LSI) and global secondary indexes (GSI) as well as scaling DynamoDB. It also covers data modeling patterns for different types of relationships and using DynamoDB for scenarios like storing time series data and building catalogs. The document provides two case studies for using DynamoDB with other AWS services like S3, Lambda, Elasticsearch and EMR/Hive to enable big data analytics.
If you’re familiar with relational databases, designing your app to use a fully-managed NoSQL database service like Amazon DynamoDB may be new to you. In this webinar, we’ll walk you through common NoSQL design patterns for a variety of applications to help you learn how to design a schema, store, and retrieve data with DynamoDB. We will discuss best practices with DynamoDB to develop IoT, AdTech, and gaming apps.
Best Practices: Operational Checklists for the AWS Cloud - AWS NYC Summit 2012Amazon Web Services
This document provides operational checklists for using AWS, including a basic operations checklist and an enterprise operations checklist. The basic checklist covers security, EC2 usage, HA/backup, and application deployment testing. The enterprise checklist covers billing, security, asset management, HA/resilience, DR/backup, monitoring, configuration management, and release deployment. It also provides an example of how Monetate, a SAAS marketing company, uses the AWS cloud for operations.
본 게시물은 2019년 6월 18일에 AWS Game Team에서 진행한 GameLift 교육 자료입니다. GameLift는 클라우드에서 세션 기반 멀티플레이 게임 서버를 배포, 운영, 조정하는 데 사용되는 완전 관리형 서비스입니다. Amazon GameLift를 사용해 최고의 동급 전용 게임 서버 호스팅을 확보하십시오.
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...Amazon Web Services Korea
<쿠키런:킹덤> 게임 유저 수가 급증하면서 지금까지 겪어보지 못했던 대규모 인프라 환경을 운영하게 되었고, 그 과정에서 다양한 문제점들에 부딪히게 되었습니다. 이 세션에서는 AWS에서 Stateful 한 게임 서버를 어떻게 운영해야 하는지 아키텍처 관점에서 먼저 설명한 후, 수 백만 명의 사용자를 감당하기 위해 해결해야 했던 어려움에 대해 Scalability 관점에서 설명해드립니다.
O documento explica como o PostgreSQL usa estatísticas para estimar o custo e número de linhas de consultas SQL, melhorando o desempenho ao reduzir acessos desnecessários ao disco. Detalha onde são armazenadas as estatísticas, seus tipos e como são usadas para cálculos de seletividade que influenciam o planejamento de consultas.
Este documento discute SQL e o uso de bancos de dados relacionais. Ele fornece uma introdução aos principais conceitos de SQL como DDL, DML, consultas, funções agregadas e operadores relacionais. Também apresenta exemplos de como criar e manipular tabelas, banco de dados e consultas em SQL.
Criando Símbolos Otimizados para Projetos no InduSoft Web StudioAVEVA
O documento discute a arquitetura interna e os símbolos vinculados do software InduSoft. Em particular, os símbolos vinculados permitem projetar uma vez e implantar muitas vezes, melhorando a produtividade e qualidade. Eles também fornecem flexibilidade para personalizar bibliotecas de símbolos compartilhados. Além disso, o documento descreve as edições de runtime do InduSoft e o suporte gráfico para cada uma.
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010lucashungaro
Palestra apresentada na RubyConf Brasil 2010 mostrando dicas de bibliotecas úteis para aplicações web escritas em Rails e maneiras para conseguir código flexível, fácil de testar e modificar utilizando SOLID, defensive programming e outras técnicas.
TDC2016POA | Trilha Bigdata - Armazenando séries temporais em bases de dados ...tdc-globalcode
O documento discute armazenamento de séries temporais em bases de dados alternativas. Ele apresenta modelos como "tall storage" e "wide storage" e suas vantagens e desvantagens. Também discute opções como InfluxDB, que é feita para armazenar séries temporais, e a possibilidade de armazenar os dados no próprio arquivo.
O documento resume as principais mudanças na versão 1.9 do Ruby em relação à versão 1.8, incluindo:
1) Mudanças na representação de strings e codificações, como a remoção do $KCODE e a introdução de m17n;
2) Melhorias no desempenho de expressões regulares e símbolos;
3) Alterações na classe Date e nos métodos de hash.
Este documento discute as aplicações da linguagem Tcl e Starkits. Ele explica como scripts podem ser interativos, de alto nível e portáteis. Também descreve a sintaxe básica de Tcl, como listas, arrays, dicionários e namespaces funcionam, e como criar aplicações encapsuladas em Starkits.
O documento discute os conceitos fundamentais de modelagem de dados, incluindo:
1) Entidades, atributos e chaves primárias definem as tabelas e campos do banco de dados.
2) Relacionamentos entre entidades representam como os dados serão ligados entre tabelas.
3) A normalização organiza os dados em tabelas separadas para evitar duplicação e inconsistências.
O documento fornece informações sobre o banco de dados VoltDB, incluindo suas características como armazenamento totalmente em memória, uso de stored procedures, particionamento de dados e alta performance.
Este documento apresenta uma visão geral sobre o MongoDB, incluindo suas funcionalidades, performance e frameworks para desenvolvimento em Java. O palestrante discute tópicos como manipulação de dados, índices, réplicas, sharding e agregação para melhorar o desempenho do banco de dados não relacional.
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoFabrício Catae
O documento discute diagnóstico de desempenho no SQL Server, abordando altos consumos de CPU, waits e locks. É apresentada uma metodologia para identificar a causa do alto consumo de CPU analisando logs e planos de execução de queries. Wait statistics são explicadas como forma de identificar gargalos como I/O e log writes. Problemas de travamento são discutidos, com foco em compatibilidade e hierarquia de locks.
TechEd 2011: Raio-X do SQL Server: Arquitetura Interna do Gerenciador de Ban...Fabrício Catae
1) O documento descreve a arquitetura interna do SQL Server, incluindo como armazena e indexa dados, gerencia a memória e executa consultas.
2) Os dados são armazenados em estruturas como IAM, GAM, SGAM e PFS e indexados usando índices agrupados ou não-agrupados.
3) O gerenciador de buffer armazena dados e índices na memória para rápido acesso, escrevendo-os periodicamente no disco através do processo de escrita preguiçosa.
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
O documento apresenta uma introdução ao workshop de Python realizado na IEEE Week '17. Apresenta brevemente conceitos fundamentais da linguagem como variáveis, funções, listas, dicionários e operações com strings. Explica também como ler e processar dados de ficheiros e da internet usando bibliotecas como urllib e json.
Pré processamento de grandes dados com Apache SparkFelipe
O documento apresenta o framework Apache Spark para pré-processamento de grandes dados, abordando conceitos como RDDs, DataFrames, UDFs e a biblioteca Spark ML. É demonstrado um estudo de caso completo de pré-processamento de um conjunto de dados de reviews da Amazon contendo 82 milhões de registros.
Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Inten...Elaine Naomi
SBBD 2016
Abstract: Applications that analyze large volumes of data are often modeled as interconnected activities (workflows) and executed on high-performance platforms. Data partitioning and replication can make the activities parallelizable. However, to define a model that results in an efficient use of the platform is not trivial. This work proposes semantic annotations to characterize the data processing in workflows activities, in order to automatically create strategies to parallelize the execution. In experiments with a workflow that handles 5.8 millions of data objects in a NoSQL system, the parallelism obtained from the annotations has reduced the makespan by 88.4% and the financial cost by 10.4%.
Full paper available on: http://sbbd2016.fpc.ufba.br/sbbd2016/sbbd/sbbd_s028.pdf
O documento discute as funcionalidades do In-Memory OLTP no SQL Server 2016, incluindo: 1) Armazenamento de dados diretamente na memória ao invés de páginas; 2) Novos tipos de índices como Hash e Range para melhor desempenho; 3) Procedures compiladas nativamente para execução em nível de máquina.
Este documento resume os principais tópicos sobre o Amazon Redshift, incluindo uma visão geral da arquitetura, abordagem colunar de armazenamento, Distkey e Sortkey, Spectrum e um caso de uso da Arezzo&Co.
Slides do mini-curso de MongoDB realizado no Workshop de Software Livre 2010 do CInLUG, no Centro de Informática da Universidade Federal de Pernambuco em 24/08/2010. Instrutores: Brunno Gomes (@brunnogomes) e Daker Fernandes (@dakerfp).
[TDC2016] Apache Cassandra Estratégias de Modelagem de DadosEiti Kimura
O documento discute estratégias de modelagem de dados no Apache Cassandra, incluindo modelagem orientada por consulta, séries temporais e particionamento de dados. O palestrante apresenta exemplos de como modelar dados para diferentes casos de uso e discute considerações importantes como validar o modelo de dados e respeitar os limites físicos de particionamento.
O documento discute opções para Disaster Recovery na nuvem AWS, incluindo Backup e Restore, Pilot Light, Warm Standby e Multi-Site. A AWS oferece várias soluções para atender a diferentes requisitos de RTO e RPO a um custo variável. A nuvem permite testes fáceis e dimensionamento flexível dos recursos de recuperação de desastres.
O documento discute opções para Disaster Recovery na nuvem AWS, incluindo Backup e Restore, Pilot Light, Warm Standby e Multi-Site. A AWS oferece várias soluções para atender a diferentes requisitos de RTO e RPO a um custo variável. A nuvem permite testes fáceis e dimensionamento flexível dos recursos de recuperação de desastres.
O documento descreve várias soluções de segurança da nuvem da AWS, incluindo ferramentas para gestão de acessos e identidade, detecção, segurança de infraestrutura, resposta a incidentes e proteção de dados. A AWS oferece 203 certificações de segurança e mais de 2.600 controles auditados anualmente para ajudar clientes a manterem a conformidade e segurança na nuvem.
En este webinar, aprenderá cómo las empresas pueden aprovechar la nube de AWS para automatizar los pipelines de desarrollo de software. Este enfoque permite que su equipo sea más ágil, mejorando su capacidad para entregar aplicaciones y servicios rápidamente.
Neste webinar, você aprenderá como as empresas podem se valer da nuvem da AWS para automatizar os pipelines de desenvolvimento de software. Essa abordagem permite que sua equipe seja mais ágil, melhorando sua capacidade para entregar aplicações e serviços mais rapidamente.
Las tecnologías como los contenedores y kubernetes pueden hacer que sus procesos de entrega de software sean más fáciles y más rápidos. En este webinar, hablaremos sobre cómo usar el Amazon Kubernetes Service (EKS) para construir aplicaciones modernas con grupos Kubernetes totalmente administrados.
Tecnologias como containers e Kubernetes podem tornar seus processos de entrega de software mais fáceis e rápidos. Neste webinar, falaremos sobre como usar o Amazon Elastic Kubernetes Service (EKS) para criar aplicativos modernos com clusters de Kubernetes totalmente gerenciados.
Ransomware é uma das ameaças de crescimento mais rápido para qualquer organização. Nenhuma empresa, grande ou pequena, está imune a ataques de cibercriminosos. Nesta sessão, mostramos como você pode aproveitar os serviços e recursos da nuvem AWS para proteger seus dados mais valiosos de ataques cibernéticos e acelerar a restauração de operações.
El ransomware es una de las amenazas de más rápido crecimiento para cualquier organización. Ninguna empresa, grande o pequeña, es inmune a los ataques de los ciberdelincuentes. En esta sesión, mostramos cómo puede aprovechar los servicios y las capacidades de la nube AWS para proteger sus datos más valiosos de los ataques cibernéticos y acelerar la restauración de las operaciones.
Ransomware é uma prática maliciosa que tem se popularizado nos últimos anos. Nessa sessão, mostraremos como através da Amazon Web Services nossos clientes podem desenvolver uma estratégia pró-ativa de mitigação a ataques de ransomware, tanto em cenários on-premises como operando na nuvem.
El ransomware es una práctica maliciosa que se ha popularizado en los últimos años. En esta sesión les mostraremos cómo desde Amazon Web Services nuestros clientes pueden desarrollar una estrategia proactiva de mitigación frente a ataques de ransomware, tanto en escenarios on-premises, como operando en la nube.
Al mover datos a la nube, los clientes deben comprender los métodos óptimos para los diferentes casos de uso, los tipos de datos que están moviendo y los recursos disponibles en la red, entre otros. Las soluciones de migración y transferencia de AWS contemplan desde la migración de datos con conectividad limitada, almacenamiento en la nube híbrida, transferencias frecuentes de archivos B2B, hasta transferencias de datos en línea y sin conexión. En esta sesión, le mostramos cómo puede acelerar la migración y transferencia de datos de manera simplificada desde y hacia la nube de AWS.
O documento discute estratégias para migração de dados para a AWS, incluindo serviços como AWS Transfer Family para transferência de arquivos, AWS DataSync para mover dados entre ambientes on-premises e AWS, e AWS Snow Family para transferência offline de grandes quantidades de dados.
El almacenamiento de archivos tiene diversos casos de uso; como directorios de usuarios, datos de aplicaciones, archivos multimedia y almacenamiento compartido para cargas de trabajo de alto rendimiento. La administración del almacenamiento de archivos en instalaciones propias suele ser un trabajo pesado, indiferenciado, con altos costos de adquisición, carga operativa para configurar y administra, lo que conlleva a desafíos de escalabilidad. En esta sesión, le mostramos cómo puede aprovechar las soluciones de archivos totalmente administradas de AWS para dejar de preocuparse por la sobrecarga administrativa de configurar, proteger, mantener y realizar copias de seguridad de su infraestructura de archivos.
La visualización de datos analíticos es un reto al que se enfrentan muchas organizaciones, el poder crear tableros, alertas, agregar predicciones a sus datos y actuar de acuerdo a estas de manera rápida es una necesidad de todos los negocios actuales. Únase a nuestros arquitectos para aprender como Amazon QuickSight le permite agregar inteligencia de negocios a sus aplicaciones y crear predicciones a futuro de sus datos. Amazon QuickSight es un servicio de inteligencia de negocios escalable y serverless creado para la nube, a través del cual podrá explotar sus datos de negocio para convertirlos en insights para hacer decisiones informadas sobre su negocio sin preocuparse de la gestión, escalamiento y la disponibilidad de la infraestructura de cómputo.
A visualização de dados é um desafio que muitas organizações enfrentam hoje. Criar dashboards, alertas, fazer previsões e agir rapidamente de acordo com os insights dos dados é uma necessidade de todas as empresas. Junte-se aos nossos arquitetos para aprender como o Amazon QuickSight o ajudará a adicionar BI aos seus aplicativos. O Amazon Quicksight é um serviço de BI escalável e serverless criado para a nuvem. Com ele, você pode explorar seus dados para obter insights e tomar decisões embasadas em seus negócios, sem se preocupar em gerenciar e dimensionar servidores e manter a disponibilidade de sua infraestrutura.
1) O documento discute os benefícios de migrar workloads de Big Data para a AWS, incluindo tornar mais fácil construir data lakes e analytics, oferecer maior abrangência de serviços e fornecer infraestrutura mais segura e escalável.
2) É apresentada a plataforma Amazon EMR para executar aplicativos de Big Data de forma gerenciada na AWS, proporcionando melhor desempenho a menor custo em comparação a clusters on-premises.
3) A separação de computação e armazenamento no Amazon EMR permite
2. Agenda
Componentes do DynamoDB
Modelagem de dados
Cenários e recomendações
Estudo de caso:
3. Amazon DynamoDB
Serviço gerenciado de banco de dados NoSQL
Alta escalabilidade
Alta disponibilidade
Desempenho rápido e consistente
Flexível, compatível com estruturas de dados de
documentos e chave-valor
API simples e poderosa
5. Tabelas do DynamoDB
Tabelas
Itens
Atributos
Chave de
Partição
Chave de
Ordenação
Mandatória
Padrão de acesso chave-valor
Define a distribuição dos dados
Opcional
Relacionamentos 1:N
Habilita consultas ricas
Todos os itens
==, <, >, >=, <=
“begins with”
“between”
resultados ordenados
contagens
primeiros/últimos valores
respostas paginadas
7. Tipos de dados
String (S)
Number (N)
Binary (B)
String Set (SS)
Number Set (NS)
Binary Set (BS)
Boolean (BOOL)
Null (NULL)
List (L)
Map (M)
Utilizados para armazenar documentos JSON
8. 00 55 A954 AA FF
Tabelas com chave de partição
Chave de partição identifica unicamente um item
Chave de partição é utilizada para construir um índice hash não-ordenado
00 FF
Id = 1
Nome = Jim
Hash (1) = 7B
Id = 2
Nome = Andy
Depto = Eng
Hash (2) = 48
Id = 3
Nome = Kim
Depto = Ops
Hash (3) = CD
Key Space
9. Réplicas de partições
Id = 2
Nome = Andy
Depto = Eng
Id = 3
Nome = Kim
Depto = Ops
Id = 1
Nome = Jim
Id = 2
Nome = Andy
Depto = Eng
Id = 3
Nome = Kim
Depto = Ops
Id = 1
Nome = Jim
Id = 2
Nome = Andy
Depto = Eng
Id = 3
Nome = Kim
Depto = Ops
Id = 1
Nome = Jim
Réplica1
Réplica 2
Réplica 3
Partição1 Partição 2 Partição N
10. Tabelas com chaves de partição e ordenação
Chave de partição e chave de ordenação identificam unicamente um item
Dados armazenados ordenados pela chave de ordenação para mesma chave de partição
00:0 FF:∞
Hash (2) = 48
Cliente#= 2
Pedido# = 10
Item = Caneta
Cliente# = 2
Pedido# = 11
Item = Calçado
Cliente# = 1
Pedido# = 10
Item = Brinquedo
Cliente# = 1
Pedido# = 11
Item = Tênis
Hash (1) = 7B
Cliente# = 3
Pedido# = 10
Item = Livro
Cliente# = 3
Pedido# = 11
Item = Papel
Hash (3) = CD
55 A9:∞54:∞ AA
Partição 1 Partição 2 Partição 3
14. Índice secundário local (LSI)
Permite definir uma chave de ordenação alternativa
Índice é localizado na mesma partição da tabela
A1
(partição)
A3
(ord.)
A2
(chave)
A1
(partição)
A2
(ord.)
A3 A4 A5
LSIs
A1
(partição)
A4
(ord.)
A2
(chave)
A3
(projetado)
KEYS_ONLY
Incluir atributo A3
A1
(partição)
A5
(ord.)
A2
(chave)
A3
(projetado)
A4
(projetado)
ALL
Para cada valor de
chave de partição, o
tamanho total não pode
exceder 10GB
Tabela
16. Escalabilidade
Tabelas não possuem limite de número de itens
Tamanho máximo dos itens é de 400KB
Escalabilidade é alcançada através de uso de partições
Tamanho aproximado de 10GB
Máximo de 3000 unidades de capacidade de leitura
Máximo de 1000 unidades de capacidade de escrita
17. Capacidade
Capacidade é provisionada por tabelas e GSIs
• Unidade de capacidade de escrita (WCU) medida em 1KB / s
• Unidade de capacidade de leitura (RCU) medida em 4KB / s
• Medida de RCU considera a leitura consistente
• Leituras com consistência eventual custa ½ de leituras consistentes
Capacidade de leitura e escrita são definidas isoladamente
WCURCU
18. Cálculo do número de partições
# 𝑝𝑎𝑟𝑡𝑖çõ𝑒𝑠 =
𝑇𝑎𝑚𝑎𝑛ℎ𝑜 𝑑𝑎 𝑡𝑎𝑏𝑒𝑙𝑎 𝑒𝑚 𝐺𝐵
10 𝐺𝐵(𝑝𝑜𝑟 𝑡𝑎𝑚𝑎𝑛ℎ𝑜)
# 𝑝𝑎𝑟𝑡𝑖çõ𝑒𝑠
(𝑝𝑜𝑟 𝑐𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑𝑒)
=
𝑅𝐶𝑈
3000 𝑅𝐶𝑈
+
𝑊𝐶𝑈
1000 𝑊𝐶𝑈
(𝑝𝑜𝑟 𝑐𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑𝑒)(𝑝𝑜𝑟 𝑡𝑎𝑚𝑎𝑛ℎ𝑜)(𝑡𝑜𝑡𝑎𝑙)
Este modelo poderá mudar no futuro...
20. Capacidade extra (burst capacity)
0
400
800
1200
1600
UnidadesdeCapacidade(UC)
Tempo
Provisionado Consumido
Unidades não utilizadas
Consumo de unidades salvas
Burst: 300 segundos
(1200 × 300 = 360k UC)
Unidades de capacidade não utilizadas nos últimos 300s são
acumuladas e podem ser utilizadas em picos de requisições
22. Evitando Hot Partitions
Chaves: alta cardinalidade
Distribuição no Espaço: acessos devem ser
uniformemente distribuídos entre partições
Distribuição no Tempo : requisições distribuídas
uniformemente no tempo
26. Relacionamentos 1:1
Exemplo: dado um usuário, busque atributos
Utilize uma tabela ou GSI com chave de partição
Utilize a API GetItem
Tabela: Usuários
Chave Partição Atributos
UserId = bob Email = bob@gmail.com, JoinDate = 2011-11-15
UserId = fred Email = fred@yahoo.com, JoinDate = 2011-12-01
27. Relacionamentos 1:N
Exemplo: Dado um equipamento, encontrar todos os
eventos entre o período X e Y
Utilize uma tabela com chave de partição e ordenação
Utilize a API Query
Tabela: Medidas-Equipamento
Chave Part. Chave Ord. Atributos
DeviceId = 1 Tempo= 5513A97C Temperatura= 30, pressão= 90
DeviceId = 1 Tempo= 5513A9DB Temperatura= 30, pressão= 90
28. Relacionamentos N:M
Exemplo: Dado um usuário, encontrar todos os seus jogos.
Dado um jogo, encontrar todos os seus usuários.
Utilize uma tabela e um GSI com chaves de partição e
ordenação alternadas
Utilize a API Query
Tabela: Usuário-Jogo
Chave Part. Chave Ord.
UserId = bob JogoID = Game1
UserId = fred JogoID = Game2
UserId = bob JogoID = Game3
GSI: Jogo-Usuário
Chave Part. Chave Ord.
JogoID = Game1 UserId = bob
JogoID = Game2 UserId = fred
JogoID = Game3 UserId = bob
31. Tabelas de séries temporais
Tabela_Eventos_2017_Abril
Event_id Timestamp Atributo1 …. Atributo N
Tabela_Eventos_2017_Março
Event_id Timestamp Atributo1 …. Atributo N
Tabela_Eventos_2017_Fevereiro
Event_id Timestamp Atributo1 …. Atributo N
Tabela_Eventos_2017_Janeiro
Event_id Timestamp Atributo1 …. Atributo N
RCUs = 1000
WCUs = 100
RCUs = 10000
WCUs = 10000
RCUs = 100
WCUs = 1
RCUs = 10
WCUs = 1
Tabela
atual
Tabelas
antigas
DadosquentesDadosfrios
Não misture dados quentes e frios; arquive dados frios no Amazon S3
(Chave Part) (Chave Ord)
32. DynamoDB Time to Live (TTL)
RCUs = 10000
WCUs = 10000
RCUs = 100
WCUs = 1
DadosquentesDadosfrios
Utilize a funcionalidade DynamoDB TTL e Streams para arquivar
Tabela_Eventos_2017_April
Event_id Timestamp
myTTL
1489188093
…. Atributo N
Arquivamento_Eventos
Event_id Timestamp Atributo1 …. Atributo N
(Chave Part) (Chave Ord)
33. Isolar dados quentes de dados frios
Pré-criar tabelas diárias, semanais ou mensais
Provisionar capacidade para tabela atual
Escrita na tabela atual
Mova os dados frios para uma tabela separada
Reduza a capacidade para tabelas de dados frios
41. Dest Data Remet Mensagem
David 2016-10-02 Bob …
… 48 mais mensagens para David …
David 2016-10-03 Alice …
Alice 2016-09-28 Bob …
Alice 2016-10-01 Carol …
Atributos grandes e pequenos
David
Tabela Mensagens
50 itens × 256 KB cada
Corpo da mensagem
Anexos
SELECT *
FROM Mensagens
WHERE Dest='David'
LIMIT 50
ORDER BY Data DESC
Inbox
42. Custo da consulta caixa de entrada
Itens retornados
Tamanho médio
Taxa conversão
Leituras de consistência eventual
43. Destin Data Remet Assunto MsgId
David 2016-10-02 Bob Hi!… afed
David 2016-10-03 Alice RE: The… 3kf8
Alice 2016-09-28 Bob FW: Ok… 9d2b
Alice 2016-10-01 Carol Hi!... ct7r
Separar atributos grandes
GSI : Inbox
MsgId Corpo
9d2b …
3kf8 …
ct7r …
afed …
David
1. Query GSI : 2 RCU
2. BatchGetItem : 1600 RCU
(50 itens de 256 KB)
(50 itens de 128 bytes)
Tabela: Msg
44. Distribuir itens grandes
Reduzir tamanho de item 1:N
Configurar projeções dos GSIs
Utilizar GSIs para modelar M:N entre
remetente e destinatário
46. JogoID Data Host Oponente Status
d9bl3 2016-10-02 David Alice DONE
72f49 2016-09-30 Alice Bob PENDING
o2pnb 2016-10-08 Bob Carol IN_PROGRESS
b932s 2016-10-03 Carol Bob PENDING
ef9ca 2016-10-03 David Bob IN_PROGRESS
Tabela : Jogos
Tabela Jogos
47. Consulta jogos pendentes de Bob
Índices permitem consulta com partição e ordenação
E como fazer se tiver 2 filtros e uma ordenação?
SELECT * FROM Game
WHERE Oponente ='Bob‘
AND Status=‘PENDING'
ORDER BY Data DESC
(partição)
(ordenação)
(???)
48. Índice Secundário
Oponente Data JogID Status Host
Alice 2016-10-02 d9bl3 DONE David
Carol 2016-10-08 o2pnb IN_PROGRESS Bob
Bob 2016-09-30 72f49 PENDING Alice
Bob 2016-10-03 b932s PENDING Carol
Bob 2016-10-03 ef9ca IN_PROGRESS David
Abordagem 1: Criar índice secundário
Bob
49. Índice secundário
Abordagem 1: Criar índice secundário
Bob
Oponente Data JogoID Status Host
Alice 2016-10-02 d9bl3 DONE David
Carol 2016-10-08 o2pnb IN_PROGRESS Bob
Bob 2016-09-30 72f49 PENDING Alice
Bob 2016-10-03 b932s PENDING Carol
Bob 2016-10-03 ef9ca IN_PROGRESS David
SELECT * FROM Jogo
WHERE Oponente='Bob'
ORDER BY Data DESC
FILTER ON Status='PENDING'
51. Índice secundário
Oponente StatusData JogoID Host
Alice DONE_2016-10-02 d9bl3 David
Carol IN_PROGRESS_2016-10-08 o2pnb Bob
Bob IN_PROGRESS_2016-10-03 ef9ca David
Bob PENDING_2016-09-30 72f49 Alice
Bob PENDING_2016-10-03 b932s Carol
Abordagem 2: Chave composta
52. Oponente StatusData JogoID Host
Alice DONE_2016-10-02 d9bl3 David
Carol IN_PROGRESS_2016-10-08 o2pnb Bob
Bob IN_PROGRESS_2016-10-03 ef9ca David
Bob PENDING_2016-09-30 72f49 Alice
Bob PENDING_2016-10-03 b932s Carol
Índice Secundário
Bob
SELECT * FROM Jogo
WHERE Oponente ='Bob'
AND StatusData BEGINS_WITH 'PENDING'
Abordagem 2: Chave composta
53. Consulta de todos os campeões
Id
(Part.)
Usuário Jogo Resul Data Campeao
1 Bob G1 1300 2015-12-23
2 Bob G1 1450 2015-12-23
3 Jay G1 1600 2015-12-24
4 Mary G1 2000 2015-10-24 Y
5 Ryan G2 123 2015-03-10
6 Jones G2 345 2015-03-20 Y
Tabela: Resultados-Jogos
Campeao
(Part.)
Id Usuário Result
Y 4 Mary 2000
Y 6 Jones 345
GSI: Premios
Índice esparso
54. Substituir filtros por índices
Concatenar atributos para formar chaves de índices
secundários úteis para otimizar consultas
Utilizar índices esparsos quando adequado
62. Transmissão de atualizações
da tabela
Assíncrono
Exatamente uma vez
Ordenado por item
Altamente durável
Escalável com a tabela
Tempo de vida de 24 horas
Latência < 1s
DynamoDB Streams
63. View Type Valores
Old Image Nome = John, Destino = Marte
New Image Nome = John, Destino = Plutão
New and Old Image Nome = John, Destino = Marte
Nome = John, Destino = Plutão
Keys Only Nome = John
Tipos de Views
Atual: Nome = John, Destino = Marte
UpdateItem: Nome = John, Destino = Plutão
66. Nova arquitetura da aplicação de votação
Tabela
Agregação
Amazon
Redshift Amazon EMR
Your
Amazon Kinesis–
Enabled App
Usuários Tabela VotosVotação Votos
DynamoDB
Stream
67. Nova arquitetura da aplicação de votação
Tabela
Agregação
Amazon
Redshift Amazon EMR
Your
Amazon Kinesis–
Enabled App
Usuários Tabela VotosVotação Votos
DynamoDB
Stream
Votação em qualquer
escala
68. Nova arquitetura da aplicação de votação
Tabela
Agregação
Amazon
Redshift Amazon EMR
Your
Amazon Kinesis–
Enabled App
Usuários Tabela VotosVotação Votos
DynamoDB
Stream
Agregação em tempo-
real, escalável e
tolerante a falhas
69. Nova arquitetura da aplicação de votação
Tabela
Agregação
Amazon
Redshift Amazon EMR
Your
Amazon Kinesis–
Enabled App
Usuários Tabela VotosVotação Votos
DynamoDB
Stream
Análise de dados,
demografia
73. “AWS permitiu que construíssemos uma
solução completa de processamento de
meios de pagamentos em tempo recorde”
A Pismo é a primeira plataforma PaaS de
processamento de meios de pagamentos.
Reimaginamos tudo que há de antiquado
nesse mercado para criar uma plataforma
robusta, segura e extremamente flexível.
Um dos nossos principais diferenciais é o
enriquecimento de dados na captura de
transações financeiras, como por
exemplo o armazenamento dos itens que
compõe a transação
“AWS DynamoDB
possibilitou a
implementação de
uma solução de
enriquecimento de
dados para altos
volumes
transacionais”
- Daniela Binatti, CTO
74. O Desafio
Encontrar uma forma de
armazenamento não estruturada
para todas as transações recebidas
• escalável e rápida
• totalmente gerenciada
• compatível com a arquitetura
reativa da Pismo
78. Ainda não tem o App oficial do
AWS Summit São Paulo?
http://amzn.to/2rOcsVy
Não deixe de avaliar as sessões no app!
Notas do Editor
consistent, single-digit millisecond latency at any scale
Fast, Consistent Performance [automatic partitioning, SSD technology]Highly Scalable [store as much data, limits are there for safety]
Fully Managed [choose key schema, tablename, provisioned capacity]
Event Driven Programming [Streams, Lambda/KCL]
Fine-grained Access Control [item-level, IAM credentials]
Flexible [doc, kv]
Hash Key only
Hash Key & Sort Key
Online Indexing
Think of this as a parallel table asynchronously populated by DynamoDB
Eventually consistent
1 Table update = 0, 1 or 2 GSI updates
There is a limit in place to avoid run-away apps. But you can request a limit increase.
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html
For every distinct hash key value, the total sizes of all table and index items cannot exceed 10 GB
This request would have caused the ReadCapacityUnits limit to be exceeded for the account in us-west-2. Current ReadCapacityUnits reserved by the account: 237. Limit: 2000. Requested: 5000. Refer to the Amazon DynamoDB Developer Guide for current limits and how to request higher limits. (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: LimitExceededException; Request ID: 0U3G4FLA19BQMELKS4G7RSTH83VV4KQNSO5AEMVJF66Q9ASUAAJG)
Picture from: http://www.amazon.com/Black-Aluminum-Control-Amplifier-Wheel/dp/B005HU1ZHA
Scan and Query
Cumulative size of processed items – ceiling (Ʃ(item sizes)/4KB)
Batch GetItem
ceiling [(Ʃ(item1 size)/4KB) + …ceiling (Ʃ(itemN size)/4KB)]
Consumed throughput is measured per operation
Provisioned throughput is divided between all partitions
RCUs and WCUs are uniformly spread across partitions on table creation
Uneven access across key space
Key/values access patters (Map, Dictionary…)
Touch on elasticity
Add a single table chart, describe bottlenecks
Warn: You still consume IO even if the item doesn’t exist
Often some items in your table are accessed more frequently than others. For example, this graph illustrates how many requests per second were made for each item in your table. For collections like a product catalog, some items are substantially more popular than others. The same probably goes for tweets sent from a celebrity, and that sort of thing.
Displaying those “hot items” on everyone’s twitter feed is problematic since they cause an uneven request distribution.
(ask audience) Can anyone think of some things that we can do to “cool off” those hot items?
One thing we can do is cache those reads in the application.
Since a tweet doesn’t change once you post it, you can cache it in memory or in something like Amazon ElastiCache.
This is a technique used in high throughput applications with a traditional database as well.
50 messages to read from
Large items not necessarily expensive on their own, but the cost adds up
Query comes from same partition
Put the metadata into a GSI. 128 bytes versus 256KB
Last section was 5:25
This is your base table
filter will drop items, but you still pay for reads
O Titans Group é lider em serviços de telefonia e provedores de internet, com operação em 40 operadores em 17 países… um principais produtos chamado “X” é um aplicativo de sincronização de arquivos para mobile e desktop
Titans Group precisava garantir que a solução de storage do produto atendesse os requisitos mais exigentes do ponto de vista de durabilidade, disponibilidade e confidencialidade das informações dos usuários.
Também era preciso garantir a escalabilidade tanto do ponto de vista técnico quanto do ponto de vista de custo.
NoSQL you have to ask – how will the application access the data? And store your data in such a way to retrieve the data with just a Select, and No joins. Designed by keeping in mind Access patterns. Via duplication of data (storage) and using Hierarchical structures, you can now optimize for compute, and therefore it is very fast.
==
Non-relational (NoSQL) databases typically do not enforce a schema. A “partition key” is generally used to retrieve values, column sets, or semi-structured JSON, XML, or other documents containing related item attributes.