Your SlideShare is downloading. ×
0
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Conhecendo o DynamoDB
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Conhecendo o DynamoDB

1,806

Published on

Conhecendo o DynamoDB

Conhecendo o DynamoDB

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,806
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
75
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Under the Covers of DynamoDB Sao Paolo
  • 2. Vários Tutoriais , treinamentos e mentoria em português Inscreva-se agora !! http://awshub.com.br
  • 3. What is DynamoDB? 1
  • 4. DynamoDB is a managed NoSQL database service. Store and retrieve any amount of data. Serve any level of request traffic.
  • 5. Without the operational burden.
  • 6. Consistent, predictable performance. Single digit millisecond latency. Backed on solid-state drives.
  • 7. Key/attribute pairs. No schema required. Easy to create. Easy to adjust. Flexible data model.
  • 8. No table size limits. Unlimited storage. No downtime. Seamless scalability.
  • 9. Consistent, disk only writes. Replication across data centers and availability zones. Durable.
  • 10. Focus on your app.
  • 11. Reserve IOPS for reads and writes. Scale up for down at any time. Provisioned throughput.
  • 12. Pay per capacity unit. Priced per hour of provisioned throughput.
  • 13. Size of item x writes per second Write throughput.
  • 14. Atomic increment and decrement. Optimistic concurrency control: conditional writes. Consistent writes.
  • 15. Item level transactions only. Puts, updates and deletes are ACID. Transactions.
  • 16. Read throughput. Strong or eventual consistency
  • 17. Read throughput. Strong or eventual consistency Provisioned units = size of item x reads per second
  • 18. Read throughput. Strong or eventual consistency Provisioned units = size of item x reads per second 2
  • 19. Read throughput. Strong or eventual consistency Same latency expectations. Mix and match at ‘read time’.
  • 20. Provisioned throughput is managed by DynamoDB.
  • 21. Data is partitioned and managed by DynamoDB.
  • 22. Tiered bandwidth pricing: aws.amazon.com/dynamodb/pricing Indexed data storage.
  • 23. Up to 53% for 1 year reservation. Up to 76% for 3 year reservation. Reserved capacity.
  • 24. Session based to minimize latency. Uses the Amazon Security Token Service. Handled by AWS SDKs. Integrates with IAM. Authentication.
  • 25. CloudWatch metrics: latency, consumed read and write throughput, errors and throttling. Monitoring.
  • 26. Libraries, mappers and mocks. ColdFusion, Django, Erlang, Java, .Net, Node.js, Perl, PHP, Python, Ruby http://j.mp/dynamodb-libs
  • 27. NoSQL Data Modeling 2
  • 28. id = 100 date = 2012-05-16-12-00-10id = 101 total = 100.00 total = 25.00 id = 101 date = 2012-05-15-15-00-11 total = 35.00 date = 2012-05-16-09-00-10
  • 29. id = 100 date = 2012-05-16-09-00-10 total = 25.00 id = 101 date = 2012-05-15-15-00-11 total = 35.00 Table date = 2012-05-16-12-00-10id = 101 total = 100.00
  • 30. id = 100 total = 25.00 id = 101 date = 2012-05-15-15-00-11 total = 35.00 Item date = 2012-05-16-12-00-10id = 101 total = 100.00 date = 2012-05-16-09-00-10
  • 31. id = 100 2012-05-15-15-00-11 total = 25.00 Attribute date = 2012-05-16-12-00-10id = 101 total = 100.00 id = 101 date = total = 35.00 date = 2012-05-16-09-00-10
  • 32. Tables do not require a formal schema. Items are an arbitrarily sized hash. Where is the schema?
  • 33. Items are indexed by primary and secondary keys. Primary keys can be composite. Secondary keys are local to the table. Indexing.
  • 34. ID Date Total
  • 35. ID Date Total Hash key
  • 36. ID Date Total Hash key Range key Composite primary key
  • 37. ID Date Total Hash key Range key Secondary range key
  • 38. Programming DynamoDB. Small but perfectly formed API.
  • 39. CreateTable Scan UpdateTable DeleteTable DescribeTable ListTables Query PutItem GetItem UpdateItem DeleteItem BatchGetItem BatchWriteItem
  • 40. CreateTable Scan UpdateTable DeleteTable DescribeTable ListTables Query PutItem GetItem UpdateItem DeleteItem BatchGetItem BatchWriteItem
  • 41. CreateTable Scan UpdateTable DeleteTable DescribeTable ListTables Query PutItem GetItem UpdateItem DeleteItem BatchGetItem BatchWriteItem
  • 42. PutItem, UpdateItem, DeleteItem can take optional conditions for operation. UpdateItem performs atomic increments. Conditional updates.
  • 43. One API call, multiple items BatchGet returns multiple items by key. BatchWrite performs up to 25 put or delete operations. Throughput is measured by IO, not API calls.
  • 44. CreateTable UpdateTable DeleteTable DescribeTable ListTables Query Scan PutItem GetItem UpdateItem DeleteItem BatchGetItem BatchWriteItem
  • 45. Query returns items by key. Scan reads the whole table sequentially. Query vs Scan
  • 46. Query patterns Retrieve all items by hash key. Range key conditions: ==, <, >, >=, <=, begins with, between. Counts. Top and bottom n values. Paged responses.
  • 47. Example 3
  • 48. Players user_id = mza location = Cambridge joined = 2011-07-04 user_id = jeffbarr location = Seattle joined = 2012-01-20 user_id = werner location = Worldwide joined = 2011-05-15
  • 49. Players Scores user_id = mza location = Cambridge joined = 2011-07-04 user_id = jeffbarr location = Seattle joined = 2012-01-20 user_id = werner location = Worldwide joined = 2011-05-15 user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000
  • 50. Players Scores Leader boards user_id = mza location = Cambridge joined = 2011-07-04 user_id = jeffbarr location = Seattle joined = 2012-01-20 user_id = werner location = Worldwide joined = 2011-05-15 user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000 game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = mza game = tetris score = 9,000,000 user_id = jeffbarr
  • 51. Players Scores Leader boards Query for scores by user user_id = mza location = Cambridge joined = 2011-07-04 user_id = jeffbarr location = Seattle joined = 2012-01-20 user_id = werner location = Worldwide joined = 2011-05-15 game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = mza game = tetris score = 9,000,000 user_id = jeffbarr user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000
  • 52. Players Scores Leader boards High scores by game user_id = mza location = Cambridge joined = 2011-07-04 user_id = jeffbarr location = Seattle joined = 2012-01-20 user_id = werner location = Worldwide joined = 2011-05-15 user_id = mza game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = werner location = bejewelled score = 55,000 game = angry-birds score = 11,000 user_id = mza game = tetris score = 1,223,000 user_id = mza game = tetris score = 9,000,000 user_id = jeffbarr
  • 53. Customer Success 4
  • 54. • O IBOPE é a maior empresa privada de pesquisa da América Latina e a 12ª maior do mundo; • Amplamente presente no território brasileiro, a empresa tem filiais nos Estados Unidos e em 13 países da América Latina; • Por ser um provedor de informações e conhecimento, a tecnologia é fundamental para o suporte aos produtos oferecidos pelo IBOPE. “A utilização do AWS permitiu o desenvolvimento da solução sem grande investimento inicial em CAPEX, além de possibilitar flexibilidade na expansão da infraestrutura.” “A AWS é ideal quando os recursos necessários são incertos ou não podem ser previstos com precisão.”
  • 55. O Desafio • O desafio do IBOPE era desenvolver um sistema para monitoramento dos principais portais de internet para coletar as peças publicitárias apresentadas e, com isso, prover informações referentes ao investimento publicitário em internet aos seus clientes; • Permitir a coleta de grande quantidade de dados de forma rápida e escalável; • Permitir o crescimento para outras operações do grupo em outros países.
  • 56. Sobre a o Papel da AWS e Benefícios alcançados PARAGRAFO RESUMO CASO _ KEY WORDS de BENEFICIO, DESAFIO VENCIDO – RESUMO DO CASO EM UM PARAGRAFO • Motivos para escolha do AWS: • Incertezas com relação ao volume de dados a ser capturado; • Poder crescer e reduzir rapidamente a infraestrutura; • Possibilidade de, no futuro, trabalhar com o autoscale; • Alta disponibilidade dos serviços. • Benefícios • Administração simples e fácil; • Maior disponibilidade e performance das aplicações; • Escalabilidade; • Desempenho rápido.
  • 57. Thank you. Questions? Learn More: aws.amazon.com/dynamodb

×