To SQL or not to SQL?

The first version of the prototype (running on this website) used MySQL to store the tags.

Some Sample Data in MySQL

This was fine but called for a much more complicated layout when we began to deal with multiple accounts, some people having just one account, some people having more than one facebook account, some people having 1 twitter 1 facebook, etc.

The second prototype was created to run on the Google App Engine and so used Google BigTable as the storage mechanism. This allowed us much more flexibility in how we stored each individual tag.

Profiles in BigTable

Providers in BigTable

Tags in BigTable

Although we may move away from the app engine in the future it is likely that we will keep the NoSQL data store (perhaps using CouchDB or MongoDB) as it allows much more flexibility and (if we need it in future) scalability. Tags are quite a simple thing to store and we really have no use for lots of complicated JOINs.

This entry was posted in Prototype, Technical Problems and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *