26
AWS DynamoDB @nbluis http://about.me/nbluis

NoSQL and AWS Dynamodb

Embed Size (px)

DESCRIPTION

Slides presenting a little explanation about NoSQL and AWS DynamoDB

Citation preview

Page 1: NoSQL and AWS Dynamodb

AWS DynamoDB@nbluis

http://about.me/nbluis

Page 2: NoSQL and AWS Dynamodb

What ?

• Database

• NoSQL

• AWS

• SaaS

Page 3: NoSQL and AWS Dynamodb

What ?

•Database• NoSQL

• AWS (IaaS, Paas)

Page 4: NoSQL and AWS Dynamodb

What is a database ?

Dammit!This is not for you!

Page 5: NoSQL and AWS Dynamodb
Page 6: NoSQL and AWS Dynamodb
Page 7: NoSQL and AWS Dynamodb

What ?

• Database

•NoSQL• AWS (IaaS, Paas)

Page 8: NoSQL and AWS Dynamodb

What do you mean?

Page 9: NoSQL and AWS Dynamodb
Page 10: NoSQL and AWS Dynamodb

NoSQL vs NewSQL

• NoSQL is a really bad label

• It’s not about SQL

• It’s about better performance or scalability

• Sometimes we can live without ACID

Page 11: NoSQL and AWS Dynamodb

ACID ?

Page 12: NoSQL and AWS Dynamodb

ACID

Page 13: NoSQL and AWS Dynamodb

The cap theoremIt’s impossible to simultaneously provide

Consistency

Availability

Partition tolerance

Page 14: NoSQL and AWS Dynamodb

Without partition tolerance guarantee

We can be available (the data) and consistent

RDBMS: Oracle, Postgres, MySQL, SQLServer, etc.

Page 15: NoSQL and AWS Dynamodb

Without availability guarantee

We can be highly scalable

Big Table, Hypertable, HBase, MongoDB, Berkley DB, Memcache, Redis

Page 16: NoSQL and AWS Dynamodb

Without consistency guarantee

We can be highly replicable

DynamoDB, Voldemort, Cassandra, SimpleDB, CouchDB, Riak

Page 17: NoSQL and AWS Dynamodb

NoREL

• ACID & JOINS are considered relational (unsupported)

• Key-Value model

• Column-oriented model

• Document-oriented model

Page 18: NoSQL and AWS Dynamodb

What ?

• Database

• NoSQL

•AWS (IaaS, PaaS)

Page 19: NoSQL and AWS Dynamodb

AWS

Page 20: NoSQL and AWS Dynamodb

AWS

• IaaS (Infrastructure as a Service)

• PaaS (Platform as a Service)

•Full managed DynamoDB service

• Pay-as-you-go

Page 21: NoSQL and AWS Dynamodb

DynamoDB

• Fast

• Full managed

• Coast effective

• Pay by throughput (reserved)

Page 22: NoSQL and AWS Dynamodb

The good parts

• Table based (each table is independent)

• Schema free (except the Key)

• Really fast to find using Primary and Range Keys

• Support for complex queries (Scan)

Page 23: NoSQL and AWS Dynamodb

The “must know” parts

• Eventual consistency by default, with high costs to ensure consistency.

• Must use SDK/API to access

• 64K is the max “row” size

• Complex queries are made using Sequential/Full Table Scan (high cost)

Page 24: NoSQL and AWS Dynamodb

The bad parts

• Very limited data types (text, number, binary)

• No way to join tables

• More than 64k of data per item requires “workarounds”

• It’s not possible to copy a table to another one

Page 25: NoSQL and AWS Dynamodb

Final considerations

• Really fast using IDs

• Really cost effective

• Full managed is a good idea

• A good option for key-value situations

• Very limited with types and joins

• Complex queries are costly

Pros: Cons

Page 26: NoSQL and AWS Dynamodb

Thanks!@nbluis

http://about.me/nbluis