DynamoDB
NoSQL Data Modeling with Amazon DynamoDB is good intro talk. DonutDB looks nice.
Grafbase is nice tool that builds on top of DynamoDB but exposes a GraphQL interface.
OSS DynamoDB apps
- DynamoDB Instagram
- Note Service (Next Generation) - GraphQL CRUD API built using AWS AppSync, Lambda, DynamoDB, CDK, Typescript.
Notes
- Each item has a unique primary key and any number of attributes.
- Scanning for an item means looking through every item in a table thus it is less efficient than query search.
- Table is a collection of items, and each item is a collection of attributes.
- DynamoDB will burn you in so many ways. It’s only fine if you have very predictably sized objects and non-spiky workloads.
Links
- Dynamo: Amazon’s Highly Available Key-value Store (2007)
- Intro to Dynamo
- Awesome DynamoDB - List of resources for learning about modeling, operating, and using Amazon DynamoDB.
- SQL, NoSQL, and Scale: How DynamoDB scales where relational databases don't (2020)
- dynamo - Dead-simple AWS DynamoDB CLI.
- Using (and Ignoring) DynamoDB Best Practices with Serverless | Alex DeBrie (2019)
- Build with DynamoDB - Single-Table Design Pros and Cons (2020)
- DQL - SQL-ish language for DynamoDB.
- The DynamoDB Book: Data Modeling with NoSQL and DynamoDB (HN)
- 5 Things I Learned from The DynamoDB Book (2020) (Twitter)
- Rules for Data Modeling with DynamoDB (2020) (HN)
- Dynobase - Professional GUI Client for DynamoDB.
- dynomite - Make your rust types fit DynamoDB and visa versa.
- PynamoDB - Pythonic interface to Amazon's DynamoDB.
- Introducing the GoLD Stack: Go + Lambda + DynamoDB (2020)
- Modeling Graph Relationships in DynamoDB (2020)
- Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (2018) (Notes on NoSQL patterns)
- How to understand DynamoDB
- DynamoDB, explained - Primer on the DynamoDB NoSQL database.
- Patterns: Serverless Rust + GraphQL + DynamoDB on AWS Lambda
- Live Migration of DynamoDB Tables (2020)
- dynamit-cli - DynamoDB Migrations Tool CLI.
- AsyncIO DynamoDB - Asynchronous, fast, pythonic DynamoDB Client. (Docs)
- Best Practices for Designing and Architecting with DynamoDB
- Rotary - ORM-like query library for DynamoDB.
- dynein - DynamoDB CLI written in Rust.
- graphql-ttl-transformer - Enable DynamoDB's time-to-live feature to auto-delete old entries in your AWS Amplify API.
- Comparing Fauna and DynamoDB: Architecture and Pricing (2020) (HN)
- Next.js + AWS DynamoDB
- jest-dynalite - Jest preset to run Dynalite (DynamoDB local) per test runner.
- DynamoDB OneTable - Access and management for one table designs with NodeJS.
- DynamoDB JavaScript DocumentClient cheat sheet
- DynamoDB sessions at AWS re:Invent 2020
- Serverless DynamoDB Local Plugin - Allows to run DynamoDB locally for serverless.
- Fundamentals of Amazon DynamoDB Single Table Design (2020)
- DynamoDB Best Practices
- DynamoDB Checklist (2021)
- DynamoDB with Go
- Amazon DynamoDB Developer Guide
- Amazon DynamoDB data modeling with NoSQL Workbench with Gunnar and Samaneh (2021)
- You should always use DynamoDB global tables now (2021)
- Asynchronous API with DynamoDB Streams (2021) (HN)
- LucidDyanamoDB - Simple Python wrapper to AWS DynamoDB. (HN)
- ddbimport - Import CSV data into DynamoDB.
- Event Sourced Database in DynamoDB / TypeScript
- The What, Why and How of DynamoDB (2021)
- Best Practices for Modeling Relational Data in DynamoDB
- Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (2018)
- AWS DynamoDB Component - Easily provision AWS DynamoDB tables using Serverless Components.
- AWS DynamoDBtoCSV - Dump DynamoDB data into a CSV file.
- dynm - Utility for easier interaction with DynamoDB.
- raiden-dynamo - DynamoDB library for Rust.
- DynamoDB + Lambda Workshop
- DynamoDB --> Stream --> Elasticsearch - Missing blueprint for AWS Lambda. Reads stream from AWS DynamoDB and writes it to ElasticSearch.
- DynamoDB Examples
- DonutDB - SQL database implemented on DynamoDB and SQLite.
- DynamoDB Lock Client for Go
- DynamoDB Foreign Data Wrapper for PostgreSQL
- New DynamoDB Table Class – Save Up To 60% in Your DynamoDB Costs (2021)
- dynamodump - Node CLI for backing up and restoring schema+data from DynamoDB tables.
- Starter project with Go, Gin and DynamoDB
- Go DynamoDB Web App Starter
- How to develop an AWS hosted DynamoDB Web application locally
- TypeDORM - Strongly typed ORM for DynamoDB - Built with the single-table-design pattern in mind.
- typesafe-dynamodb - TypeSafe type definitions for the AWS DynamoDB API.
- serde_dynamodb - Talk with dynamodb using your existing structs thanks to serde.
- Happy 10th Birthday, DynamoDB (2022)
- Serverless Typescript Demo - Simple serverless application built in Typescript and uses Node.js 14 runtime.
- Serverless search for DynamoDB
- Alex DeBrie: NoSQL Data Modeling with Amazon DynamoDB (2022)
- AWS Lambda in Private Subnet connecting to DynamoDB with VPC Endpoint
- Dynosaur - Declarative bidirectional codecs for DynamoDb AttributeValue, SDK 2.
- Dynomite - Inspired by Dynamo whitepaper, is a thin, distributed dynamo layer for different storage engines and protocols.
- dynamodb_lock - Distributed lock backed by DynamoDB.
- Amazon DynamoDB Design Patterns
- How to ensure cross-region data integrity with Amazon DynamoDB global tables (2022)
- Serverless Go Demo - Consists of an API Gateway backed by four Lambda functions and a DynamoDB table for storage.
- The DynamoDB paper (2022) (HN) (Summary)
- Single Table DynamoDB - DynamoDB client built for using one table.
- Some notes on DynamoDB 2022 paper (HN)
- Begin Data - Durable and fast key/value store for Begin built on top of DynamoDB.
- DynamoDB Toolbox - Simple set of tools for working with Amazon DynamoDB and the DocumentClient.
- Nice DynamoDB query libs
- dynalite - Implementation of Amazon's DynamoDB built on LevelDB.
- Dynamoose - Modeling tool for Amazon's DynamoDB. (Docs)
- DynamoDB Action - GitHub Action allows you to super easily setup a DynamoDB Local instance within GitHub Actions to use DynamoDB within your CI system.
- Dynamoutil - Useful commands for DynamoDB.
- How to implement login system using DynamoDB (2021)
- ddbsh - Simple CLI for DynamoDB modeled on isql, and the MySQL CLIs.
- The What, Why, and When of Single-Table Design with DynamoDB (2020) (Tweet)
- DynamoDB solves a whole class of problems
- ElectroDB - DynamoDB library to ease the use of having multiple entities and complex hierarchical relationships in a single DynamoDB table.
- Moving to DynamoDB, A Single Table at a Time (2023)
- Brushless - Write frictionless, maintainable and type-safe DynamoDB expressions.
- serde_dynamo - Serialize and deserialize between data stored in these items and strongly-typed Rust data structures.