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.
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.
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 4, Querying 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 5, Integrating 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 6, Building 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 7, Building 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 8, Cosmos DB Deployment and Management, covers all of the deployment of your custom application and Cosmos DB database to the production environment.
Get the latest version of Node.js installed and learn MongoDB query basics to get the most out of this book.
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:
- Log in or register at www.packtpub.com.
- Select the
SUPPORT
tab. - Click on
Code Downloads & Errata
. - 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!
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.
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
."
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.
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.