Book Image

Learning Azure DocumentDB

By : Riccardo Becker
Book Image

Learning Azure DocumentDB

By: Riccardo Becker

Overview of this book

Learning DocumentDB adopts a practical, step-by-step approach to help you learn the basics of DocumentDB and use your new-found abilities in real-life scenarios and enterprise solutions. We start with the absolute basics, such as setting up a DocumentDB environment, and guide you through managing your databases, and executing simple and complex queries. Next, we explain how to work with DocumentDB using the open REST protocol, and demonstrate how JavaScript works with DocumentDB. We’ll also show you how to authenticate and execute queries. Moving on, you’ll find out how to use DocumentDB from within Node.js to kick-start your Node.js projects. Next, you’ll discover how to increase the performance of your DocumentDB database and fine-tune it. Finally, you’ll get to grips with using DocumentDB in conjunction with other services offered from the Microsoft Azure platform.
Table of Contents (15 chapters)
Learning Azure DocumentDB
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

DocumentDB versus other databases


This section compares DocumentDB with other (non-)SQL technologies. The comparison is made with MongoDB and Azure Table storage.

Azure Table storage

Table storage is a non-SQL tabular based storage mechanism enabling you to store rows and columns inside a table. A table is not fixed, meaning that different rows can have different columns. Azure Table storage is a perfect fit for storing large amounts of data, although it is non-relational. There are no mechanisms like foreign keys, triggers, or user-defined functions.

MongoDB

MongoDB is also a document database (NoSQL), which means that it is schema-free, enables high performance and high availability, and has the ability to scale. MongoDB is open source, and is built around documents and collections. The documents are compiled of sets of key-value pairs, while collections also contain documents. Compared to DocumentDB, MongoDB uses BSON instead of JSON.

Comparison chart

The following table provides a high-level comparison on some key features:

Feature

DocumentDB

MongoDB

Table storage

Model

Document

Document

Rows and columns

Database schema

Schema-free

Schema-free

Schema-free

Triggers

Yes

No

No

Server side scripts

Yes, JavaScript

Yes, JavaScript

No

Foreign keys

*N/A

N/A

N/A

Indexing

Potentially on property

Potentially on every property

Partition key and row key only

Transactions

Yes, supports ACID

No

Limited, using batching

Hosting

On Microsoft Azure only, offered as a service

Can be on-premise or on a virtual machine, not offered as a service

On Microsoft Azure, offered as a service.

DocumentDB does not offer referential integrity by design. There is no concept of foreign keys. Integrity can be enforced by using triggers and SPs.

The role of the Database Administrator is still needed to manage DocumentDB. We still need someone to overlook our databases and collections. Some common tasks a DBA for a document might perform are as follows:

  • Creating and managing databases

  • Creating and managing collections

  • Getting responsibility on scaling, partitioning, and sharding

  • Defining and maintaining SPs, user-defined functions, and triggers

  • Managing users and permissions

  • Measuring performance