1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Designing an Azure Data Implementation

NoSQL Storage


Azure Data Implementation
Azure Storage
Cosmos DB
12m 17s

The course is part of these learning paths

AZ-304 Exam Preparation: Designing a Microsoft Azure Architecture
DP-201 Exam Preparation: Designing an Azure Data Solution
Architecting Microsoft Azure Solutions
more_horizSee 2 more
Start course


Microsoft Azure offers services for a wide variety of data-related needs, including ones you would expect like file storage and relational databases, but also more specialized services, such as for text searching and time-series data. In this course, you will learn how to design a data implementation using the appropriate Azure services. Two services that are especially important are Azure SQL Database and Azure Cosmos DB.

Azure SQL Database is a managed service for hosting SQL Server databases (although it’s not 100% compatible with SQL Server). Even though Microsoft takes care of the maintenance, you still need to choose the right options to scale it and make sure it can survive failures.

Azure Cosmos DB is the first multi-model database that’s offered as a global cloud service. It can store and query documents, NoSQL tables, graphs, and columnar data. To get the most out of Cosmos DB, you need to know which consistency and performance guarantees to choose, as well as how to make it globally reliable.

Learning Objectives

  • Identify the most appropriate Azure services for various data-related needs

  • Design an Azure SQL Database implementation for scalability, availability, and disaster recovery

  • Design an Azure Cosmos DB implementation for cost, performance, consistency, availability, and business continuity

Intended Audience

  • People who want to become Azure cloud architects

  • People preparing for a Microsoft Azure certification exam


  • General knowledge of IT architecture, especially databases


Relational databases are great for online transaction processing, but the rise of big data has led to the need for bigger databases. NoSQL datastores are able to scale better because they satisfy fewer requirements than relational databases. Considering their name, it’s not surprising that one requirement they don’t fulfill is support for SQL queries.

Azure offers a variety of NoSQL datastores, some of which are intended for very specialized purposes. We’ll start with the more general-purpose options.

Azure Table storage is a key/attribute store, so it’s intended for simple, but structured, data. For example, you could use it for address books or user profiles. It has a schemaless design, so the structure of your data can change without any trouble. It also automatically indexes the records, so queries are fast, although it doesn’t create secondary indexes, so some queries could be slower. If you need secondary indexes or global distribution, then you can use the premium version that’s part of Cosmos DB. If you don’t need those features, then the basic version of Table storage is a great choice because it’s an extremely cheap NoSQL datastore that’s easy to use. If you need more sophisticated features like complex joins, foreign keys, or stored procedures, then you should use a relational database instead.

Azure Redis Cache is another general-purpose datastore, but it’s used under specific conditions. It’s intended to speed up data retrieval in applications. It’s a managed service for  Redis, which is an open-source, in-memory database. Since its data resides in memory, it’s very fast, which is why it’s used as a cache. It’s even simpler than Azure Table storage, because it just stores key/value pairs.

Azure Redis Cache is offered in 3 tiers. Basic doesn’t have an SLA, so it should only be used for testing and development. The Standard tier provides a replicated, high availability cache. The Premium tier has better performance and can handle bigger workloads, disaster recovery, and other advanced features.

Azure Data Lake Storage is different from Table storage and Redis because it’s not a key/value store. It’s intended to hold large quantities of any kind of data. It’s essentially a data warehouse for unstructured data and its main purpose is data analytics.

Azure Search is a very specialized database. It creates an index of text data so your users can easily run searches on it. You can then embed search functionality into your web, mobile, and enterprise applications. Azure Search also provides a wide variety of features, such as search suggestions, language analyzers, and fuzzy searches.

Time Series Insights (or TSI) is another highly specialized database. It collects time-stamped data, such as data from IoT devices. Since this is a very common use case, TSI integrates with Azure IoT Hub and Azure Event Hubs. Once the data resides in TSI, you can run queries on billions of events and get a response in seconds. You can run these queries either interactively or from your applications. When you run queries interactively using TSI explorer, you can see visualizations of the data.

Azure has another NoSQL storage solution, Cosmos DB, but it’s such a big topic that it’ll take up a whole lesson. So, if you’re ready, then go to the next video.

About the Author
Learning paths64

Guy launched his first training website in 1995 and he's been helping people learn IT technologies ever since. He has been a sysadmin, instructor, sales engineer, IT manager, and entrepreneur. In his most recent venture, he founded and led a cloud-based training infrastructure company that provided virtual labs for some of the largest software vendors in the world. Guy’s passion is making complex technology easy to understand. His activities outside of work have included riding an elephant and skydiving (although not at the same time).