A quick tour of Amazon's DynamoDB NoSQL database.
For this tour we'll be working on a database designed to support the Poppy in Memory site. We'll start by going over the basics in this DynamoDB PowerPoint. Next, we'll talk about the design of our database and what things we need to consider when designing it. We'll then create a model of our database using the NoSQL Workbench for Amazon DynamoDB and finally, we'll run through the usual CRUD operations using a local version of DynamoDB and the DynamoDB JavaScript Shell.
- You'll need a Java run-time environment, DynamoDB local, and the NoSQL Workbench installed. The easiest way to do this is with Homebrew:
brew cask install java dynamodb-local nosql-workbench-for-amazon-dynamodb
- By default, data that you save to your local DynamoDB instance will be saved to disk. For messing around, I like to run the DB in memory so that once you stop it your data is gone. If you installed DynamoDB Local using Homebrew you'll run it with the command
dynamodb-local -inMemory -delayTransientStatuses
. If you didn't install using Homebrew, you'll need to run it from the folder where you unzipped it with the commandjava -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -inMemory -delayTransientStatuses
. (The-delayTransientStatuses
flag is optional but it will make working with the database more realistic by introducing artificial delays like you would get when using the real product.) - Assuming you're using the default port for the database you'll access the JavaScript shell at: http://localhost:8000/shell.
- DynamoDB Documentation — documents the database itself
- DynamoDB JavaScript SDK — documents the JavaScript SDK used to access the database from NodeJS or a web browser
- DynamoDB JavaScript Examples — some basic JS examples