Once Upon a Time... I Envisioned Amazon SimpleDB

Several years ago, back when I was a budding junior web developer back at MindComet--better known as the evil empire--I was part of a fantastic (if under-appreciated and under-paid) development team that included at the time folks like Jerry Jackson and Jim Defilipo, two guys I have emmense respect for and keep in contact to this day.

Jim and I were heading up the development initative for a new CRM system for one of our customers (which became the basis of the background in the area that lead me to co-found Evware, but I digress).  We sought out to create a simple, yet elegant database structure that was infinitely extensible, completely indexed, an elegant relationship system where anything could be related to anything, and would never require any additional tables or fields to be created. 

The database was simply designed to be able to describe anything.  We theorized how it could be used to describe any business structure, brain patterns, space, or the atomic structure of our desks.  It was created with just a few database tables, roughly as memory serves me:  items, item_types, item_values, and item_relationships.  The item_type table would describe the class of the item and its general behavior.  The items table would contain a reference to each item of all types with a column for a globally unique id (guid), its item type, and its name.  The item_values table would contain all of the properties of each item in the items table so would have a column referring to the guid of the item it described, its field name, and its value.  The item_relationships table would contain two columns with guids (the two items with a relationship) and possibly another column describing the relationship.  It was a really ambitious project that took way more time to develop than the company was willing to allow us to invest--not having the forsight to see future projects that could have all been based on this one system.  And unfortunately it was in the middle of this project that the evil emporer got rid of me... I believe if I had stuck around we would have been able to see it through as at least half of the driving force and knowledge of the complete vision and its presentation technologies (xpath, xsl, which no one else knew) was in my skillset.  But I degress again.

Anyway... it was an incredible project and one that I still believe in.

Amazon it seems, while not fully trying to do exactly this, has taken on sort of a subset of this kind of theory in their new SimpleDB product that I first tried out this week--and love.  Internally, it seems to contain two tables, the equivalent of our item and item_value tables.  The cool thing is that you can insert anything in it, assign its "row" (item) a unique name (guid).  Then you can add any number of properties to it.  It allows you to break out of the strict row and column throught-process because each row can theoretically have its own unique fields/columns.  Each and every value is indexed for fast queries.  And a single field/column can have multiple values.  So normally you'd have to create all kinds of join tables to do that kind of thing... here just insert multiple values into the one field.  Internally they are just all entries into the item_values table, so that's how they work their magic.

They also wrap it all up so you can query it with (basic) SQL-like queries.  Now internally they are translating these queries because they don't really have the normal table structure like you are querying.

The downside of the system is that it does not allow multiple "item types".  Each item type is what they call a "domain" and it basically exists in its own little world.  So this means no relationships and no cross-table joins or anything.  So it kind of limits what it can be used for--but I guess that's why it's called SimpleDB.  But for certain applications it is certainly just what the doctor ordered!

Comments

  1. Hey there, just found your blog ... didn't realize you were in web dev ... I hadn't heard about Amazon's SimpleDB but now I'm going to have to check it out. I work more in the realm of web "design" rather than dev, but am always looking for cool tools for the trade. Thanks for the info :) If you're ever in the mood for some nod-off reading, check out our blog at barbyandbrad.com!
  2. [url=http://www.sale-sunglasses.net/Coach_Sunglasses.html]Coach Sunglasses[/url] [url=http://www.sale-sunglasses.net/ED_Hardy_Sunglasses.html]ED Hardy Sunglasses[/url] [url=http://www.sale-sunglasses.net/Ray.Ban_Sunglasses.html]Ray Ban Sunglasses[/url] [url=http://www.sale-sunglasses.net/Oakley_Sunglasses.html]Oakley Sunglasses[/url] [url=http://www.sale-sunglasses.net/POLICE_Sunglasses.html]POLICE Sunglasses[/url] [url=http://www.sale-sunglasses.net/PRADA_Sunglasses.html]PRADA Sunglasses[/url]
  3. We offer ghd straighteners worldwide.You can get them with high quality but at low price from our store.ghd straighteners cheap will give you a big surprise.We sale various styles ghd hair straighteners and the most popular ones are the ghd purple and ghd precious, p90x and insanity workout.They are the perfect hair straighteners which you should not miss.In addition, we have numerous other ghd series.I'm sure you will get a perfect ghd hair straighteners which macthes with your taste. For most people ghd straighteners cheap is a god-given chance. In addtion, if you pay a little attention to ghd straighteners you will find that ghd loved by many celebraties who appear on the fashion magazines with new hair styles created by the hair straighteners.You may say why it is must be ghd straighteners? You know ghd is a famous brand in hair salon field. If you are lucky enough, you will find ghd straighteners cheap which is at a lower price but with the same good quality.
  4. I know a software named EZ mpeg to avi Converter can Convert MPG/MPEG,MPEG-1/MPEG-2 format to AVI Video movie. Only $12.95 USD
    With a very easy to use interface you can also convert video file. your work will become very easy. You can download this software free from here: http://www.ezvideotools.com/mpeg-to-avi-converter.htm
  5. Another $ 488 million louis Vuitton replica handbags went to employees who won discount dior handbags compensation awards designer handbags ranging from a few thousand dollars to coach replica handbags millions for class-action lawsuits. burberry replica handbags No single agency tracks all worker chanel replica handbags complaints or costs. The AP reviewed replica handbags documents from the Equal Employment loewe replica Opportunity Commission, Merit thomas wylde handbags System Protection Board, US Special versace handbags Counsel and the Treasury Department breitling for sale Judgment Fund. But many hidden costs replica Montblanc , such as confidential financial settlements, replica ebel couldn't be calculated. swiss watches "There's a phenomenal cost," oris for sale said Jerry Shaw, an attorney for Movado replica the executives association, "The system Graham replica in the private sector is not anywhere near replica Breguet as elaborate."In 1997, one-fifth of the replica Breitling allegations in EEOC complaints concerned racial replica Bvlgari discrimination.

Leave a Comment