InfoQ

News

Amazon’s SimpleDB Enters Public Beta

Posted by Abel Avram on Dec 01, 2008

Community
Architecture
Topics
Cloud Computing ,
Data Access
Tags
Amazon SimpleDB ,
Amazon Web Services

Amazon finished private beta testing and has entered into public unlimited beta of its cloud database service named SimpleDB. SimpleDB is meant to be a simple to be accessed database in the cloud, and Amazon is offering limited access to it for free.

Amazon connects its Elastic Compute Cloud (EC2) with Simple Storage Service (S3) plus the newly available for public SimpleDB service to offer anyone interested a database in the cloud.  SimpleDB allows an application running on EC2 to retrieve data stored on S3 via an API without the need of creating a schema, according to Jeff Barr, an Amazon Web Services Evangelist:

The conceptual model is very straightforward, as are the APIs. You can jump in and start coding, refining your data model as you go. There's no brittle, fixed schema. You store only the attributes you need to for each item. We've also got some new client libraries to make coding even easier

SimpleDB makes it easy to grow. You can have up to 100 domains and 10 GB of data in each domain during the beta. You don't have to worry about splitting your data up across multiple disks as your database grows. That's all taken care of for you, behind the scenes.

Jeff has also announced the limited free offer to use SimpleDB:

We've made the business decision to go with SimpleDB even simpler than it was before. You can now get started for free. For at least the next six months, you can consume up to 500 MB of storage, and you can use up to 25 machine hours each month. You can transfer 1 GB of data in, and another 1 GB out. You can move as much data to and from Amazon EC2 as you would like, for free.

We've also reduced (dramatically, I must say) the charged for storage and for processing, effective immediately. SimpleDB storage is now priced at $0.25 per GB per month, down from the former price of $1.50 per GB per month. Of course, existing data stored in SimpleDB will be charged at the new rate.

At the time when SimpleDB was offered as private beta, Charles Ying said about it as being built on Erlang, and made the following considerations:

  • Eventual Consistency - Data is not immediately propagated across all nodes… the latency is usually around a second, but for high data sets or loads, you may experience more latency. On the plus side, your data isn’t lost!
  • Queries are lexigraphical - You’ll need to store data in lexicographical ordered form (zero-pad your integers, add positive offsets to negative integer sets, and convert dates into something like ISO 8601)
  • Search Indexes - You’ll need to construct your own indexes for text search - The SimpleDB query expressions don’t support text search, so you’ll have to construct inverted indexes to properly do “text search”. This is actually a really great lightweight way to do this and I’m sure many interesting indexing schemes will be possible.

At the same time, Nitin Borwankar, a GigaOM editor, compared SimpleDB with Google’s BigTable, and concluded that Amazon’s offering was superior:

  • Google’s offerings – not only BigTable but GoogleBase, Gdisk, etc. — all have an ad hoc, grab-bag-of-tools feeling to them, devoid of any integrated strategy. Or if there is one, it is well-hidden.
  • Amazon WS clearly involves a well-designed master plan aimed at changing the face of software as a service, each new offering akin to a chess piece in a game focused on creating strategic long-term value. And with SimpleDB, the queen has moved to the center.
  • Amazon WS is based on the YOYODA principle — You Own Your Own Data, Always. Along with Amazon S3, SimpleDB is a sharp arrow in the quiver of open data proponents.
  • Amazon WS includes a built-in, flexible payment system so users are neither forced to offer their app for free nor have an “ad-supported” model forced upon them. Now you can build a data-based web app on SimpleDB and seamlessly charge for it.

Tersely put, SimpleDB is hugely disruptive.

SimpleDB Explorer is an interface useful to upload MySQL data through SimpleDB. Other tools for Ruby, Python and Java developers and various resources are available on SimpleDB Resource Center.

The comparison with BigTable is old by Colin Hawkett Posted Dec 1, 2008 6:55 AM
Re: The comparison with BigTable is old by Andrew Osipenko Posted Dec 1, 2008 9:46 AM
Our fault? by Rob Tweed Posted Dec 2, 2008 3:29 AM
eXo JCR provides an Amazon Simple DB Storage by Tug Grall Posted Dec 2, 2008 5:11 PM
  1. Back to top

    The comparison with BigTable is old

    Dec 1, 2008 6:55 AM by Colin Hawkett

    The linked article saying Amazon's offer is superior was written at the end of last year - well before google app engine was announced. There are a number of features of the google implementation that are not present in SimpleDB (As far as I can tell)

    - Transactions
    - A Modeing API
    - built-in XML serialisation
    - > 1K field size
    - Primary Keys
    - Foreign Keys

    And it doesn't appear to lack any of the features of the SimpleDB offering.

    Don't get me wrong - AWS has some pretty cool stuff (REST API, S3 & asynchronous services are the biggest differentiators from GAE at the moment), but SimpleDB is definately not better than BigTable.

  2. Back to top

    Re: The comparison with BigTable is old

    Dec 1, 2008 9:46 AM by Andrew Osipenko

    AWS has possibility to update single item property (to update single property in GAE you have to load the whole entity, update this property and then save entity). So you can avoid some cases which will require transactions in GAE typically.
    AWS supports more operators in queries also (for example 'like' operator).

    I'd like to point out that there is a new player in this area: Mircrosoft SDS (It supports simple join operators).

    Unfortunately according to my experience none of this three services (GAE, AWS, SDS) provide possibility to construct really useful queries.

    As for me I will wait for following SQL operators: join and distinct.

  3. Back to top

    Our fault?

    Dec 2, 2008 3:29 AM by Rob Tweed

    So just days after we announce M/DB, our "plug compatible" alternative to SimpleDB (www.mgateway.com/mdb.html), Amazon open up their SimpleDB Beta programme and reduce their prices.... :-)

  4. If you want to test a cool usage of SimpleDB, take a look to the new eXo JCR 1.10.x that provides Simple DB storage:
    - wiki.exoplatform.com/xwiki/bin/view/JCR/Workspa...

    eXo has implemented that not only to use on its intranet and web site but also to facilitate hosting and deployment of eXo Platform on Amazon infrastructure

    Regards.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.