Saturday, December 30, 2017

Install a Local Instance of AWS DynamoDB

Install a Local Instance of AWS DynamoDB




STEP 1:  Press Command+Space and type Terminal and press enter/return key.
STEP 2:  Install Brew(If you dont already have it installed.)  Run this command in the Terminal app.


ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null


Then press enter and wait for the command to finish.
STEP 3:  Use Brew to install and download dynamoDB so that you can run it locally.

brew install dynamodb-local


Launch your DynamoDB local instance like this:
To have start dynamodb-local now and restart at login as a background service using brew services:

  brew services start dynamodb-local

Or, if you dont want/need a background service you can just run:

  /usr/local/bin/dynamodb-local


You can then access a JS Shell in a browser such as Chrome:
URL to hit the Javascript shell for your locally running DynamoDB instance:

http://localhost:8000/shell/


This is what you will see what you load up your DynamoDB Shell.  If you see this, then you are successfully running a local instance of DynamoDB!

AWS Local DynamoDB Javascript Shell in Browser
AWS Local DynamoDB Javascript Shell in Browser


Common DynamoDB Concepts
  • Table:  A collection of data
  • Items: An item is a group of attributes that is uniquely identifiable among all of the other items.
  • Attributes: An attribute is a fundamental data element, something that does not need to be broken down any further.
  • Primary Key
    • Partition Key:  Composed of one attribute known as the partition key
    • Partition Key and Sort Key: Composite primary key, composed of two attributes.


Datatypes
Scalar
  • Number:  String
    • Example:  "N": "123.45"
  • String:  String
    • Example:  "S": "Hello"
  • Binary:  Base64-encoded binary data
    • Example:  "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"
  • Boolean:  Boolean
    • Example:  "BOOL": true
  • Null:  Boolean
    • Example:  "NULL": true
Multi-value
  • String Set:  Array of Strings
    • Example:  "SS": ["Giraffe", "Hippo" ,"Zebra"]
  • Number Set:  Array of Strings
    • Example:  "NS": ["42.2", "-19", "7.5", "3.14"]
  • Binary Set:  Array of Base64-encoded binary data
    • Example:  "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]

Document
  • List: array of AttributeValue objects
    • Example:  "L": ["Cookies", "Coffee", 3.14159]
  • Map:  String to AttributeValue object map
    • Example:  "M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}



Partition Key Hashing

Partition key uniquely identifies a item
Partition key is used for building an unordered hash index
Allows table to be partitioned for scale





Some further reading on DynamoDB
  • https://aws.amazon,com/dynamodb/getting-started/
  • What is noSQL and how is it implemented on AWS?
  • Amazon DynamoDB: How It Works in the Amazon DynamoDB Developer Guide
  • Sign up for a monthly webinar series:  https://aws.amazon,com/about-aws/events/monthlywebinarseries/?trkCampaign=WEBINARSERIES&trk=juneseries16homepage

References:
  1. http://docs.aws.amazon,com/amazondynamodb/latest/developerguide/Introduction.html
  2. http://docs.aws.amazon,com/amazondynamodb/latest/gettingstartedguide/Welcome.html
  3. http://docs.aws.amazon,com/amazondynamodb/latest/APIReference/
  4. https://en.wikipedia.org/wiki/Amazon_DynamoDB
  5. https://github.com/derjust/spring-data-dynamodb
  6. https://github.com/michaellavelle/spring-data-dynamodb
  7. http://projects.spring.io/spring-data/
  8. https://aws.amazon,com/nosql/
  9. http://cloudacademy.com/blog/amazon-dynamodb-ten-things/
  10. http://docs.aws.amazon,com/amazondynamodb/latest/APIReference/API_AttributeValue.html
  11. http://www.slideshare.net/InfoQ/amazon-dynamodb-design-patterns-best-practices


go to link download

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.