title: What's the attraction of schemaless database systems?
body: <p>I've been hearing a lot of talk about schema-less (often distributed) database systems like MongoDB, CouchDB, SimpleDB, etc...</p>
  
  <p>While I can understand they might be valuable for some purposes, in most of my applications I'm trying to persist objects that have a specific number of fields of a specific type, and I just automatically think in the relational model.  I'm always thinking in terms of rows with unique integer ids, null/not null fields, SQL datatypes, and select queries to find sets.</p>
  
  <p>While I'm attracted to the distributed nature and easy JSON/RESTful interfaces of these new systems, I don't understand how loosely typed key/value hashes will help me with my development.  Why would a loose typed, schema-less system be good for keeping clean data sets?  How can I for example, find all items with dates between x and y when they might not have dates?  Is there any concept of a join?</p>
  
  <p>I understand many systems have their own differences and strengths, but I'm wondering at the difference in paradigm.  I suppose this is an open-ended question, but perhaps the community's answers and ways they have personally seen the advantages of these systems will help enlighten me and others about when I would want to make use of these (admittedly more hip) systems instead of the traditional RDBMS.</p>