I’ve written elsewhere about some of the reasons OData makes me happy. Following the announcements at MIX this week, best summarized here by Doug Purdy, I’d like to add another. It can be a nice bridge between the NoSQL and SQL worlds.
For example, my elmcity service monitors itself by sampling a bunch of performance counters and pushing the data to an Azure table. Because the Azure Table service is an OData producer, I’m able to analyze and chart the data using PowerPivot, an Excel add-in that’s an OData consumer.
I’ve been thinking about moving this data store over to SQL Azure, because some kinds of queries I might want to run will be much easier using SQL rather than Azure Table’s primitive query language. Now that SQL Azure is also an OData producer I’ll be able to make that switch seamlessly. From a SQL perspective I’ll have a more powerful query capability. But from a NoSQL perspective it’ll look just the same.
I’ve always loved Sam Ruby’s tagline: It’s just data. I should be able to spin up a service using a decentralized key/value store, like Azure Table or SimpleDB, and then gracefully migrate to a SQL store if and when that becomes necessary. With OData living on both sides of the SQL/NoSQL divide, that glide path will be much smoother.