Category: Amazon SDB

Bungee Connect Opens up and Adds Amazon SimpleDB Access

Bungee_simpledb_tree My friends at Bungee Labs have rolled out the newest release of Bungee Connect, their browser-based application development and hosting platform.

They have also released a library which makes it really easy to make calls to Amazon SimpleDB. The library wraps all of the SimpleDB SOAP calls and handles all of the authentication as well. Per their recent blog post, all you need to do to get started is to enter your AWS developer credentials. You can read about the library here. Per my earlier blog post, you can also access Amazon FPS from Bungee Connect with ease.

Bungee Connect is the development component of Bungee’s Platform-as-a-Service model. Without leaving your desk (or your web browser) you can design, build, and deploy a complex application. The application might involve calling SOAP or REST web services, mashing up data from multiple local and remote sources, and doing some significant local processing as well. There’s no charge to develop an application. Once built and deployed, the developer is billed based on actual usage of the application. There’s more on this over at ProgrammableWeb.

You may be reading this and thinking that it sounds cool, only to realize that you don’t yet have access to Amazon SimpleDB. We are adding new users to the SimpleDB beta just as fast as possible. If you are not yet on the waiting list, go here and click the Sign Up for Web Service button near the top right of the page. Before you do that, make absolutely sure that you have attached a credit card to your AWS account. If you are already using another for-pay service such as Amazon S3 or EC2, you have already done this. About 99.9% of our existing SimpleDB beta testers gained their access in this way.

The other 0.1% were desperate for access and managed to beg their way into the beta using various social engineering tricks. Sample tricks include desperate emails to me, emails with a very predictable pattern:

Paragraph 1 is always something like “Hey Jeff, remember that time we were using a PDP-8 together back in 7th Grade? Man, those were the good old days. I’ve been meaning to catch up with you for a long time. How’s life?”

Paragraph 2 is then “I’m now at a startup, and my life wont be complete without access to SimpleDB. Can you help?”

Believe it or not, I get at least one such email per week. In fact, our limited betas have proven to be very effective at getting reconnected to old friends, which is never a bad thing. Of course, the more clever and more desperate the appeal, the better.

— Jeff;

A Place for Everything – Amazon SimpleDB

Aws_signup We are now accepting applications for the limited public beta of Amazon SimpleDB!

Amazon SimpleDB makes it really easy and straightforward to store and to retrieve structured data. You no longer need to worry about creating, maintaining, or migrating database schemas, monitoring and tuning the performance of your queries, outgrowing the storage or processing capacity of your database server, making backups, or replicating data.

Instead you simply create up to 100 SimpleDB domains (each of which can hold up to 10 GB of data, for a total of 1 TB) and then start to store structured data in the form of items. Each item consists of multiple name/value pairs (which we call attributes), and there can be more than one value for a particular name. You can have a different set of attributes for each item in the domain. With SimpleDB there is no need for a time-consuming schema change when you need to store additional information in your database. You simply store the additional attributes as desired.

For example, if you were building a tag cloud to represent information about a collection of web sites, you could store the site URL as the first attribute and the entire set of tags as the second. After the system has been running for a while, you decide to add a thumbnail for each URL (of course the Alexa Site Thumbnail Service would be perfect for this) and simply add a third attribute to the new entries. Later, as desired, you can go back and add this attribute to the older entries. This ability to improve your data model on a dynamic, as-needed basis makes Amazon SimpleDB a perfect match for today’s fast-paced world of agile development, where flexibility and adaptability are of paramount importance.

I believe that the “new-age” model espoused by SimpleDB should cover about 80% of all database requirements. Applications which require long-running queries and/or complex table joins, such as those for data warehouse applications, are probably not a good fit for SimpleDB today. While RDBMS offerings provide deep functionality, for many use cases, they introduce more complexity (and more cost) than is necessary.  Many developers simply want to store, process, and query their data without worrying about managing schemas, maintaining indexes, tuning performance or scaling access to their data.

All data stored in SimpleDB is replicated multiple times in geographically disbursed data centers, so customer databases dont need to be backed and will automatically fail over to another replica if one is not available. Our key strengths are availability, durability and scalability. Customers can make SimpleDB requests via HTTPS and they are also free to encrypt their data for additional security.

Sdb_syntax As the name implies, the SimpleDB API is quite clean and simple. Here is the entire roster of calls:

  • CreateDomain creates a new named domain within the scope of your AWS account.
  • DeleteDomain deletes a domain and all of the items within it.
  • ListDomains returns a list of all of your domains.
  • PutAttributes creates a new item (if necessary) and adds or replaces attributes.
  • DeleteAttributes deletes one or more attributes from an item.
  • GetAttributes returns all or specified attributes of an item.
  • Query retrieves a set of items which match a query expression. Large result sets can be retrieved in chunks of up to 250 items.

The query language includes Boolean operations, lexicographic comparisons, and set operations.

As is the case with all of our web-scale services, you pay for exactly what you use in terms of bandwidth, storage, and processing, making it perfect for startups. SimpleDB doesnt require any up front hardware investment or DBA skills.

Bandwidth is priced the same for all of the AWS services, 10 cents per GB for data flowing into the Amazon data center, and 18 cents down to 13 cents per GB for data flowing out, depending on volume. Query processing costs 14 cents per machine hour. This is slightly different than EC2 which is based on wall clock time rather than on CPU time. As an aid to understanding what this means in practice, the SimpleDB calls return the actual amount of machine time used by the call.

Want to learn more? Take a look at the SimpleDB Detail Page, the Developer Guide, the Getting Started Guide, and the FAQ.

Reaction from the online world has been swift, with good articles at Information Week, O’Reilly Radar, ZDNetGigaom, TechCrunch, CNET, Read/Write Web, and Satine. Bloggers Deepak Singh and Don MacAskill have also weighed in. There’s even more on the AWS Buzz.

We’ll be letting developers into the beta program as fast as we can, so sign up today if you are interested in participating. We are really looking forward to seeing some SimpleDB applications emerge from our community in the very near future.

— Jeff;