Azure DocumentDB: Massively-Scalable, Multi-Tenant Document Database Service

Dharma Shukla, Founder of Azure DocumentDB & Partner Engineering Director at Microsoft

Tue. May 19, 2015 6:30pm
New York City
Free swag, beer, junk-food, drinks, goodies & lots more!

Dharma Shukla

Founder of Azure DocumentDB & Partner Engineering Director at Microsoft

Azure DocumentDB: Massively-Scalable, Multi-Tenant Document Database Service

If you are a developer using NoSQL databases or are interested in the design of NoSQL database systems, then this session is for you. Most commercially available cloud database services present developers with extreme choices - e.g. strong vs. eventual consistency; schema-first with rich queries vs. schema-free with poor/no query; high cost with VM isolation vs. multi-tenancy without robust resource isolation; high performance but 'unsafe' vs. low performance but 'safe' storage engines and so on.

Dharma and his team believed that there existed an engineering opportunity between these black and white choices and customer pain-point which have to date remained unaddressed. The DocumentDB project started in Microsoft to address the capability gap between these extreme choices.

Azure DocumentDB is Microsoft's multi-tenant distributed database service, purpose-built for managing JSON documents at Internet scale. Inside Microsoft, several large applications including Xbox, MSN, and many others have been using DocumentDB, some from as early as 2012. After validating against a variety of internal workloads and attaining operational maturity, DocumentDB was recently made broadly available to developers.

In this session, we will discuss the design of DocumentDB storage system and why this makes developers' lives better. Specifically, we will focus on the following aspects:

  • Design of DocumentDB's Database Engine, specifically how it is designed to eliminate the 'impedance mismatch' between the application programming languages/type-systems and the database schema. We will also discuss the design choices we made to create a write optimized and schema-agnostic database engine to serve consistent queries in the face of sustained high volume document writes. By default, the database engine automatically indexes all documents without requiring schema or secondary indexes from developers. We will also cover transactional execution of application logic modeled as stored procedures and triggers, authored entirely in JavaScript and executed directly inside DocumentDB's database engine.
  • Design of the DocumentDB's distributed system, including partitioning, replication, the tunable consistency levels that DocumentDB offers (strong, bounded-staleness, session and eventual) and corresponding performance guarantees.
  • Multi tenancy and resource governance considerations which are ingrained in DocumentDB's system design and its various capabilities.

Dharma Shukla

Founder of Azure DocumentDB & Partner Engineering Director at Microsoft

Dharma founded the DocumentDB project at Microsoft in 2011 and currently leads the DocumentDB engineering teams.

Dharma is a distributed systems veteran who joined Microsoft in 1997. Dharma has worked across many Microsoft products and services ranging from infrastructure services which power Microsoft's consumer applications, P2P systems, databases, to workflow and messaging systems.

  • All
  • Images
  • Videos