Azure Data Fundamentals
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 which services to choose when implementing a data infrastructure on Azure. Two services that are especially important are Azure SQL Database and Azure Cosmos DB.
Identify the most appropriate Azure services for various data-related needs
People who want to learn Azure fundamentals
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
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).