I am thinking about listening to design methods you've combined with non-relational "nosql" databases - that's, the (mostly new) class of information stores that do not use traditional relational design or SQL (for example Hypertable, CouchDB, SimpleDB, Google Application Engine datastore, Voldemort, Cassandra, SQL Data Services, etc.). They are also frequently known to as "key/value stores", and also at base they behave like giant distributed persistent hash tables.

Particularly, I wish to find out about the variations in conceptual data design with one of these new databases. What's simpler, what's harder, what can not be done whatsoever?

  • Perhaps you have develop alternate designs that actually work far better within the non-relational world?

  • Perhaps you have hit your mind against something that appears impossible?

  • Perhaps you have bridged the space with any design designs, e.g. to translate from to each other?

  • Would you even do explicit data models whatsoever now (e.g. in UML) or perhaps you have tossed them entirely in support of semi-structured / document-oriented data blobs?

  • Would you miss the major extra services that RDBMSes provide, like relational integrity, randomly complex transaction support, triggers, etc?

I originate from a SQL relational DB background, so normalization is within my bloodstream. Nevertheless, I recieve the benefits of non-relational databases for simplicity and scaling, and my stomach informs me there needs to be considered a more potent overlap of design abilities. Whoever else done?

FYI, there has been StackOverflow discussions on similar subjects here: