Book Image

Learning Azure Cosmos DB

By : Shahid Shaikh
Book Image

Learning Azure Cosmos DB

By: Shahid Shaikh

Overview of this book

<p>Microsoft has introduced a new globally distributed database, called Azure Cosmos DB. It is a superset of Microsoft's existing NoSQL Document DB service. Azure Cosmos DB enables you to scale throughput and storage elastically and independently across any number of Azure's geographic regions.</p> <p>This book is a must-have for anyone who wants to get introduced to the world of Cosmos DB. This book will focus on building globally-distributed applications without the hassle of complex, multiple datacenter configurations. This book will shed light on how Cosmos DB offers multimodal NoSQL database capabilities in the cloud at a scale that is one product with different database engines, such as key-value, document, graph, and wide column store. We will cover detailed practical examples on how to create a CRUD application using Cosmos DB with a frontend framework of your choice. This book will empower developers to choose their favorite database engines to perform integration, along with other systems that utilize the most popular languages, such as Node.js. This book will take you through the tips and trick, of Cosmos DB deployment, management, and the security offered by Azure Cosmos DB in order to detect, prevent, and respond to database breaches.</p> <p>By the end of this book, you will not only be aware of the best capabilities of relational and non-relational databases, but you will also be able to build scalable, globally distributed,<br />and highly responsive applications.</p>
Table of Contents (14 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Preface

Azure Cosmos DB is Microsoft's managed database solution for individuals and enterprise with the industry standard service-level agreement. Azure Cosmos DB provides multi-model database support that can scale across more than 30 regions across the world. Azure Cosmos DB provides a turn key distribution that enables the database admins to scale and replicate their database with a few clicks. 

This book covers the major concepts and features of Azure Cosmos DB. This book also covers the development of web applications using Cosmos DB and their integration using the software development kit provided by Azure Cosmos DB.

Who this book is for

This book is intended for anyone who wants to get well versed with Microsoft's new NoSQL database called Azure Cosmos DB. You should have prior experience of dealing with any SQL or NoSQL databases.

What this book covers

Chapter 1, Introducing Microsoft Azure Cloud and Cosmos DB, aims to provide an introduction to the Microsoft Azure platform. The reader will get to know the various interfaces and modules provided by the Microsoft Azure cloud. Another part of this chapter provides an introduction to Cosmos DB, which is the main topic of the book.

Chapter 2, Cosmos DB Global Turnkey Distribution, covers one of the key features of Cosmos DB, which is its global turn key distribution system. You can replicate your database more than 30 regions scattered across the globe using a very simple interface.

Chapter 3, Cosmos DB Multi-model Databases, provides the four (five after publishing state of this book) database models that you can pick from. This chapter covers these database models in detail.

Chapter 4Querying Cosmos DB, covers the different types of queries required for multi-model databases. This chapter segregates these queries in the CRUD (Create, Read, Update, and Delete) way to explain it better.

Chapter 5Integrating Cosmos DB with Node.js, covers all integration with one of the popular backend runtime engines, Node.js. We have covered how to connect to the database models of Cosmos DB with Node.js.

Chapter 6Building High-Performance Link Shortening and Tracking System Using Cosmos DB, covers the development of a simple and high-performance link shortening and tracking system that's very similar to bit.ly using Cosmos DB and Node.js. The reader will learn and relate how they can build a complex system like this using a Cosmos DB-managed database solution.

Chapter 7Building Highly Available and Real-Time Email Tracking System Using Cosmos DB, covers the development of a system that handles the email tracking that is open rates of the email by millions of users and stores them in the database for further analytics.

Chapter 8Cosmos DB Deployment and Management, covers all of the deployment of your custom application and Cosmos DB database to the production environment.

To get the most out of this book

Get the latest version of Node.js installed and learn MongoDB query basics to get the most out of this book.

Download the example code files

You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packtpub.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub athttps://github.com/PacktPublishing/Learning-Azure-Cosmos-DB. We also have other code bundles from our rich catalog of books and videos available athttps://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: http://www.packtpub.com/sites/default/files/downloads/LearningAzureCosmosDB_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Let's perform an UPDATE and DELETE operation."

A block of code is set as follows:

{ 
    "id": "10", 
    "name": "Shahid", 
    "location": "Mumbai", 
    "job": "Engineer" 
} 

Any command-line input or output is written as follows:

SELECT *  
FROM Families f  
WHERE f.id = "100"

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Click on New Database and choose the Gremlin as API."

Note

Warnings or important notes appear like this.

Note

Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packtpub.com.