-
Notifications
You must be signed in to change notification settings - Fork 28
Amazon DynamoDB
- NoSQL service
- Built on SSDs
- No storage limits
- performance, durability, availability, scalability
-
key value, no schema
-
key options: hash key lookups, or composite keys
-
Strong or eventual consistency -- you get to pick
-
Writes acknowledged nly when on disk in two AZs
-
Not worrying abiout memory, CPU, etc... you pick what your app needs in terms of latency, throughput, etc
-
You provision write and read capacity. You say what you want. No concern for storage.
-
Can change given your needs
-
Can match capacity to traffic; don't need to worry about forecasting as much as before
- Scaling
- Automatic sharding
- Security, patches, upgrades
- Automatic hardware failover
- Multi-AZ replication
- ...
Try: http://aws.amazon.com/dynamodb
-
User metadata DB for error reporting, etc
-
Started with MongoDB
-
Expensive to run the shards ($1.45/GB-mo -- the price floor, that's the least it would cost at 100% utilization)
-
Mongo's disk-based, but storage wasn't the problem...
-
Switched to Redis, designed their own sharding system (you guess it -- it was painful) "Redis ring"
-
DynamoDB... can only change up or down a few times today
-
$0.28/GB-mo
- Ad serving
- Have to respond quickly (40ms) about whether they will serve an ad
- If you need the service, DynamoDB makes it cheaper to do instead of doing the infrastructure yourself
- Lots of performance and redundancy problems are solved for you (built for high availability and ultra-fast responses)
- Sounds like you can back up to S3? Maybe Glacier? Unsure
Things to think about for your app:
- Storage
- IOPS
Things not to think about for your app:
- Sharding -- nice if it's taken care of for you
Not part of the talk:
- Not much info about how DynamoDB actually works (developer centric)
- It's a different implementation than Dynamo. Only proprietary implementations of the API.
- To build against it, you'll have to use Amazon's implementation, but they offer a desktop version (Java)
- Ruby SDK, not aware of a generic wrapper for KV stores that supports it
- Migration strategy to/from DynamoDB is unclear to me
- Related: SimpleDB (also Amazon proprietary), MongoDB, Couchbase, Cassandra, Riak
A crowd-sourced conference wiki!
Working together is better. :)
- Speakers, for example:
- Recent Conferences
- Software
- Offline Access
- Contributors (More than 50!)
- Code Frequency