DynamoDB

12 views
Skip to first unread message

Mark Hahn

unread,
Jan 18, 2012, 8:19:00 PM1/18/12
to couchd...@apache.org
I assume most of you have seen the Amazon announcement for the new
hosted DynamoDB service.

http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html

I was kind of excited about it since it's a nosql db that looked similar to
couch at first. After studying the api I was surprised to see that you
could only index on one field. Has anyone else considered using it? What
use-case is it good for?

Paul Davis

unread,
Jan 18, 2012, 9:26:49 PM1/18/12
to us...@couchdb.apache.org, couchd...@apache.org
I skimmed the docs. It looks more like a SimpleDB with more scaling
than it does a CouchDB replacement. Definitely going to spend more
time reading later to see if there are any decent ideas to borrow.

Mark Hahn

unread,
Jan 18, 2012, 9:53:18 PM1/18/12
to us...@couchdb.apache.org, couchd...@apache.org
SimpleDB had too many indexes and dynamoDB has too few. Maybe their third
one will get it just right (to quote Goldilocks).

On Wed, Jan 18, 2012 at 6:26 PM, Paul Davis <paul.jos...@gmail.com>wrote:

> I skimmed the docs. It looks more like a SimpleDB with more scaling
> than it does a CouchDB replacement. Definitely going to spend more
> time reading later to see if there are any decent ideas to borrow.
>
> On Wed, Jan 18, 2012 at 7:19 PM, Mark Hahn <ma...@hahnca.com> wrote:
> > I assume most of you have seen the Amazon announcement for the new
> > hosted DynamoDB service.
> >
> > http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html
> >
> > I was kind of excited about it since it's a nosql db that looked similar
> to

> > couch at fiirst. After studying the api I was surprised to see that you

Geir Magnusson Jr.

unread,
Jan 18, 2012, 10:51:02 PM1/18/12
to us...@couchdb.apache.org
It's web scale.

geir

Arek Stryjski

unread,
Jan 19, 2012, 9:51:52 AM1/19/12
to us...@couchdb.apache.org, couchd...@apache.org
On Thu, Jan 19, 2012 at 01:19, Mark Hahn <ma...@hahnca.com> wrote:
>
> http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html
>

Wow it is this Dynamo!

Thanks for link,
Arek

Mathias Leppich

unread,
Jan 19, 2012, 1:56:46 PM1/19/12
to couchd...@apache.org

George Burt

unread,
Jan 19, 2012, 1:58:05 PM1/19/12
to us...@couchdb.apache.org
I was excited by it until I tried to see a use for it. The index is almost
only a key store index. But you can have a very simple second index key.
You can only find the second ken if you know the first. If your first key
is the a customer and the second key is a date, then you can find all the
documents for a customer. And you can find all the docs for a customer for
a particular date. But you cannot find out who all posted on a particular
date. Think ["cust1234","10-10-2012_001"] where the composite has to be
unique (primary key).

But it is very fast. Think Redis if you have an EC2 machine in the same
area as the DynamoDB (LAN speed). But, they throttle it to only allow the
maximum requests you have paid for. But it is hard to pay for a cloud
instance of Redis that has 50 gigs of storage, where it only costs $50 per
month with DynamoDB. So the throughput is slower than Redis but the
datasize can be much bigger.

A penny per hour buys you a max of 50 docs per second.

You can raise the max per second any time you like, but it has to stay at
that rate for 24 hours.

This throttling is not too bad because you can raise it to any level at
anytime, which is very, very powerful. In an instant, you could raise it
to 100k units, which would give you 5 million reads per second and 1
million writes. And it would actually deliver these speeds! Of course, it
would cost you a minimum of $24,000 (and that is only if you dialed it back
down, otherwise it is $24,000 per day.)

Still, for $72 per month, you could get a max of 500 reads per and 100
writes. But, the problem is that you payload is limited to 1k. Well,
actually, if you had a document that was 500k, it would consume the entire
second's worth of capacity. This works out to 1.8 gigs of theoretical
output per hour. In reality, the actual out put would be far lower.
Clearly you can't move much data economically with this.

Storage is also a lot more expensive than S3 (roughly 8 or 9 times as much).

Also, it is a no-brainer in the sense that you don't have to worry about
anything except setting the dial at what you need. It is very safe,
redundant and is supposed to always have consistent performance at any
scale.

I think on any economical sized installation, couch on an ec2 instance will
out perform DynamoDB (because of the throttling) and you can store
information for a fraction of the cost. And with DynamoDB, you don't
really need replication.

So, I would say DynamoDB falls in between Redis and CouchDB.

George

--
George Burt
President
TrueShot Enterprises, LLC.
(386) 208-1309
Fax (213) 477-2195
www.TrueShot.com
12756 92nd Ter
Live Oak, FL 32060

Simon Metson

unread,
Jan 23, 2012, 5:04:52 PM1/23/12
to us...@couchdb.apache.org
Thanks for the summary George, interesting.
Cheers
Simon

> On Thu, Jan 19, 2012 at 9:51 AM, Arek Stryjski <arek.s...@gmail.com (mailto:arek.s...@gmail.com)>wrote:


>
> > On Thu, Jan 19, 2012 at 01:19, Mark Hahn <ma...@hahnca.com (mailto:ma...@hahnca.com)> wrote:
> > >
> > > http://www.allthingsdistributed.com/2012/01/amazon-dynamodb.html
> >
> > Wow it is this Dynamo!
> >
> > Thanks for link,
> > Arek
> >
>
>
>
>
> --
> George Burt
> President
> TrueShot Enterprises, LLC.
> (386) 208-1309
> Fax (213) 477-2195

> www.TrueShot.com (http://www.TrueShot.com)

Reply all
Reply to author
Forward
0 new messages