Microsoft's Azure Cosmos DB is becoming an essential tool for creating powerful global web and mobile applications. This course will teach you how to design databases and build applications using the various Cosmos DB APIs and supported data models.
Developers today require a thorough knowledge of the NoSQL technologies that lie at the core of global web and mobile applications. In Learning Azure Cosmos DB, you will learn how to utilize Microsoft’s massively scalable, globally distributed, multi-model NoSQL database service. First, you will discover how to provision throughput, partition, and globally distribute your database. Next, you will explore the SQL API and the document data model, build client applications using the .NET SDK, and leverage the server-side programming model with stored procedures, triggers, and user-defined functions. Finally, you will learn how to use the Table API to migrate Azure Table Storage applications and the Gremlin API to build graph databases. When you are finished with this course, you will have a foundational knowledge of Azure Cosmos DB that will help you as you move forward to build your next generation of global applications.
Leonard Lobel (Microsoft MVP, SQL Server) is CTO and co-founder of Sleek Technologies, Inc., a New York-based development shop. He is also a principal consultant at Tallan, Inc., a Microsoft National Systems Integrator and Gold Competency Partner. Lenni is also a consultant, trainer, and frequent speaker at major industry conferences.
Course Overview Hi everyone, my name is Lenni Lobel, and welcome to my course, Learning Azure Cosmos DB. Cosmos DB is Microsoft's massively scalable no sequel database service, that's designed specifically for modern web and mobile applications. In this course, we're going to explore all the major components of Cosmos DB. Some of the many topics that we'll cover include global distribution, where your database can be replicated globally, bring you closer to your users wherever they are. Horizontal partitioning, that's how Cosmos DB manages the growth of your data, to virtually unlimited size. Provisioning throughput. By reserving desired throughput levels, you get predictable performance that can be raised and lowered at will. And multiple APIs and data models. You can choose from a variety of APIs, which gives you a choice of several data models, including the json documents, key value, column, or graph. By the end of this course, you'll know how to provision throughput, partition, index, and globally distribute your Cosmos DB database. You'll also know everything you need to start building real Cosmos DB applications using the sequel API, which also supports a server side programming model for stored procedures, triggers, and user defined functions. And you'll be up to speed on some of the other Cosmos DB APIs as well, like the table API and gremlin API, for key value and graph databases. And you don't need any prior experience with Cosmos DB or any other no sequel database, you can just get started right here with this course. So I hope you'll join me at Pluralsight, to learn all about Azure Cosmos DB, and get ready to build your next generation of database applications for the cloud.
Tuning for Throughput and Performance Welcome back. This module is all about Cosmos DB throughput and performance. And when we talk about performance, that's a big word that can mean a lot of things, but at a high level, performance can be measured in two ways: latency and throughput. Latency means wait time, so how long am I waiting for a response to my request? We want it to be fast, so we want to keep latency low. Cosmos DB lets you manage latency by globally distributing your data, which brings it closer to your consumers, and the closer it is, the faster it is. Cosmos DB also supports a range of consistency levels, which lets you further control latency, and we discuss both of these options in a later module. This module focuses on throughput, which is all about ensuring that your application can handle concurrent database requests no matter how big your workload is. So regardless of how much request volume your application demands of the database, Cosmos DB guarantees that it will service a specific number of requests within any given second at all times. How many requests per second? Well, that'll depend on the number of request units per second that you ask for and pay for when you create a data container in Cosmos DB.
Programming with the .NET SDK Welcome back, Lenni Lobel here with Pluralsight and in this module you'll learn how to use the. NET SDK to build Cosmos DB client applications with the SQL API. Cosmos DB is designed to support web-scale applications and like almost every service on Azure it uses HTTP and REST as its native client protocol. Any Cosmos DB operation can be performed from any HTTP client so long as the request URL points to a valid Cosmos DB resource and the HTTP headers contain the proper authentication. Issuing raw REST cause is the most primitive way that you can work with Cosmos DB and it can be very tedious to get work done when you're also bogged down in the low-level REST details constructing the appropriate headers for an HTTP request and then deconstructing the HTTP responses that get returned by the service. And that's why we have software development kits. And to date Microsoft provides SDKs for. NET and. NET Core, Java, Node. js, and Python. If you're developing on any of these platforms then there is an SDK for you to work with and that's going to be much, much easier for you to use than trying to work with REST and HTTP directly because the SKDs abstract away all the low level details. This module and the next focus on the. NET SDK which is the most popular SDK in use today for Cosmos DB.