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
Ed Freitas can be contacted through his website, edfreitas.me.