DocumentDB

The NoSQL Database
that's made for Azure

Jay Bienvenu

bienv.com - @jbnv

Baton Rouge .Net Users Group

May 13, 2015

Agenda

  • Overview
  • Demo / Walkthrough
  • Questions

DocumentDB

  • NoSQL database service in Azure.
  • Gen. available on April 8.
  • Designed from scratch to support JSON and JavaScript directly inside the database engine.
  • Fully managed by Azure -
    no VM needed.
  • Stores data as BSON in "documents" within document collections.
  • Allows SQL-esque queries.

BSON = an optimized binary representation of JSON.

Document ≈ JavaScript object

"Sounds like MongoDB."

Yes, they are both NoSQL databases
that store data in a
schemaless BSON format.

Other examples: CouchBase / Couch DB, DynamoDB (AWS)

How they are different:

DocumentDB is a service that is fully managed by Azure.

MongoDB is an application that runs in a machine.

Pros: Speed
& Flexibility

  • No schemas!
    (Flexible Data Models)
  • Elastic Scaling
  • Big Data
  • No need for DBAs (but...)

Cons: DIY
& Youth

  • No schemas!
    (No Data Integrity)
  • Expertise / Learning Curve
  • Maturity
  • Support
  • Analytics and BI

DocumentDB vs. SQL Server in particular
and NoSQL databases vs. RMDBSs in general

Takeaways

  • MS is serious about having both SQL and NoSQL in Azure.
  • The learning curve will flatten as more MS developers use NoSQL and develop tools to work with it.
  • Because DocumentDB is a MS product, open-source concerns go away.
  • Will the MS developer community embrace it?

Is DocumentDB right for my project?

  • Is NoSQL the best choice for my database?
  • Can I live with the concerns about data integrity and security?
  • Is it worth it to learn how to develop for a new database?

Demo

The project:

"Monsters Masters & Mobsters"

A roleplaying/monster competition game

hosted in Azure using DocumentDB.

monmamo.wikidot.com

  • Open database in Azure portal.
  • Document Explorer.
  • Query Explorer.
SELECT m.id, m.name FROM monsters m WHERE m.level = 5

DocumentDB SQL

Write SQL-esque queries against document collections.

DocumentDB

By Jay Bienvenu

DocumentDB

A presentation on Azure's DocumentDB for the Baton Rouge .Net Users Group.

  • 1,983