How do we go about doing the same thing in this strange new territory of NoSQL?
One bit of advice that was given was "just think of it as a database without the structure". Well, that's exactly the problem that I have -- I don't think of databases without having structure.
So here's how we would think of the problem in a NoSQL situation, like with Apigee's App Services.
We will have a collection for artists, one for albums, and another for songs.
We can roughly think of a collection as being synonymous with a 'table' in relational databases. What's the difference?
NoSQL systems don't have any strict rules on what data you can or can't put somewhere. Huh? Think of it as being similar to SQL, but without the constraints on table structure or referential integrity.
Well, that's kind of the way that SQLite works, isn't it?
Somewhat, but this new territory is even more flexible than SQLite. You see, SQLite doesn't care much about referential integrity and data types, but it still cares a great deal about column names -- meaning you can't decide to add a new piece of data to a table without first issuing the correct ALTER TABLE statement to add the new column.