Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DynamoDB

 DynamoDB

Explaining the architecture of AWS DynamoDB

Cc95ef8bf38403916f40854c4ede4853?s=128

Pierre GOUDJO

December 30, 2021
Tweet

More Decks by Pierre GOUDJO

Other Decks in Technology

Transcript

  1. DynamoDB Pierre Goudjo Exploration of a NoSQL database

  2. What is DynamoDB?

  3. Amazon DynamoDB Developer Documentation Amazon DynamoDB is a fully managed

    NoSQL database service that provides fast and predictable performance with seamless scalability
  4. None
  5. Let’s dive in a little bit

  6. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  7. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  8. None
  9. There is no server to manage on DynamoDB

  10. NOT REALLY

  11. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  12. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  13. A NoSQL database is a datastore that doesn’t follow the

    relational model introduced by Edgar F. Codd in 1970
  14. NoRel would have been a more appropriate name

  15. So what’s the relational model?

  16. None
  17. TABLE

  18. TABLE Row

  19. TABLE Row Column

  20. None
  21. None
  22. Relational Databases also offer ACID guarantees

  23. NoSQL defines what the database is not

  24. NoSQL comes in multiple flavours

  25. Key-Value databases

  26. Document-oriented databases

  27. Wide column databases

  28. Graph databases

  29. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  30. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  31. Amazon DynamoDB is a fully managed wide- column database service

    that provides fast and predictable performance with seamless scalability
  32. DynamoDB is sometimes referred as a document database

  33. None
  34. None
  35. None
  36. What problem DymamoDB is trying to solve?

  37. 2004

  38. Amazon is experiencing massive outages because their Oracle database could

    not keep up with the load on the website
  39. People couldn't fill up their shopping cart

  40. None
  41. They notice however that most data access where done via

    primary key
  42. None
  43. Let’s write a database

  44. None
  45. They solved their write contention problem by eschewing the traditional

    relational model
  46. None
  47. None
  48. Let’s see how these ideas translate in DynamoDB components and

    architecture
  49. None
  50. None
  51. None
  52. None
  53. None
  54. None
  55. None
  56. 10GB

  57. 10GB

  58. O(1) 10GB

  59. What to do if I need access via customerID?

  60. What to do if I need access via customerID? I

    would need to “switch” primary key.
  61. What to do if I need access via customerID? I

    would need to “switch” primary key. Indexes come to the rescue
  62. None
  63. What to do if I need customer orders sorted by

    TotalPrice?
  64. What to do if I need customer orders sorted by

    TotalPrice? I would need to “switch” sort key
  65. What to do if I need customer orders sorted by

    TotalPrice? I would need to “switch” sort key Local indexes come in handy
  66. None
  67. None
  68. None
  69. None
  70. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  71. Amazon DynamoDB is a fully managed NoSQL database service that

    provides fast and predictable performance with seamless scalability
  72. Recap

  73. Single-item actions • PutItem • GetItem • UpdateItem • DeleteItem

    Actions
  74. Multi-item actions • BatchWriteAPI • BatchReadAPI • Query • Scan

    Actions
  75. Transactions • TransactGetItems • TransactWriteItems Actions

  76. Extras

  77. Amazon DynamoDB Accelerator (DAX)

  78. DynamoDB Global Tables

  79. DynamoDB Streams Use cases ✴Data aggregation ✴Replication ✴Archiving/Auditing ✴Reporting ✴Noti

    fi cations/Messaging ✴Search
  80. And a lot more • Incremental backup/Restore • Point-in-time recovery

    • PartiQL • Encryption at rest • Transactions • Item TTL
  81. None