The following is a short interview with Succinctly series author Ed Freitas, whose latest book Azure Cosmos DB and DocumentDB Succinctly was published on Tuesday, May 23. You can download the book here.
What should people know about Azure Cosmos DB and DocumentDB? Why is it important?
As part of Microsoft’s strategy to push AI and high data availability, they have created the first globally and highly available distributed database service in the world, which can scale seamlessly—this is Cosmos DB. It is important because it packages several database technologies under one roof. Anyone building serious and business-critical applications should look at this.
When did you first become interested in Azure Cosmos DB and DocumentDB?
Pretty much at the same time I started to become aware of AI and bots. During this time I was looking for a way to manage state and conversational data, and I started to experiment with DocumentDB (as it was called at the time) and was impressed, as it offered far more features than traditional NoSQL document databases like Mongo by even supporting a SQL-like syntax.
By writing this e-book, did you learn anything new yourself?
There’s not been a single book that I’ve written that I’ve not learned from. Writing this one was particularly interesting because it forced me to think out-of-the-box and learn that NoSQL document databases could in fact by queried with SQL. That was an eye opener.
How will this subject change over the next few years?
I can only see more database types being merged into Cosmos DB, i.e. even relational databases like SQL Server. One day it will be possible to have JSON documents and relational tables under the same data collection and query both seamlessly as if they were one. I don’t think that day is far away.
Do you see the subject as part of a larger trend in software development?
Yes, I see it as a merging of database technologies. People have always relied on database technology, specifically relational ones, but in my view the trend is to be able to use what is needed. If one needs a relational table, key-value store, or collection of JSON documents, it should be possible to create relations between them and use the best of each feature for faster app development cycles.
What other books or resources on this topic do you recommend?
I highly recommend Cloud Database Development and Management by Lee Chao. It’s a great starting point to understand how cloud databases operate.
Ed Freitas can be contacted through his website, edfreitas.me.