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

Capacity estimation


Our system would be read-heavy; there would be lots of redirection requests compared to new URL shortenings. Let's assume a 100:1 ratio between read and write.

  • Traffic estimates: If we assume that we would have 500 Million new URL shortenings per month, we can expect (100 * 500 Million => 50 Billion) redirections during the same time. What would be Queries Per Second (QPS) for our system?

New URL shortenings per second:

500 million / (30 days * 24 hours * 3600 seconds) ~= 200 URLs/s

URL redirections per second:

50 billion / (30 days * 24 hours * 3600 sec) ~= 19K/s

  • Storage estimates: Since we expect to have 500M new URLs every month, if we were to keep these objects for five years, the total number of objects we would be storing would be 30 billion:

500 million * 5 years * 12 months = 30 billion

Let's assume that each object we are storing can be of 500 bytes (just a ballpark figure, we will dig into it later); we would need 15 TB of total storage:

30 billion * 500 bytes = 15...