Tag: dp-900

  • Azure Files–Standard and Premium

    This is part of a series on my preparation for the DP-900 exam. This is the Microsoft Azure Data Fundamentals, part of a number of certification paths. You can read various posts I’ve created as part of this learning experience.

    I’ve been studying for the DP-900 exam, which is the Microsoft Azure Data Fundamentals. This includes the Azure SQL options, but also plenty more, including Azure Files. I have never really used these, and wasn’t sure what this included, so I had to dig in a big and learn a few things.

    This posts covers part of the concept of Azure Files and the differences with Standard and Premium, which were things that were not intuitive for me.

    The Azure Files Basics

    First, Azure Files provides file shares, as you might expect. These are SMB shares, which I would have guessed, and NFS ones, which I would not have guessed. These are based on Azure Storage accounts, so Azure Files is essentially a sub-section of a Storage account. You can mix these in a storage account, but that isn’t recommended. A little tidbit to remember.

    There is integration with AD and AAD, as well as using the storage account keys. You can also sync local shares with Azure Files, all handy things.

    The URL is : storageaccount.file.core.windows.net, where storageaccount is the name you’ve picked. I don’t love the flat namespace with me being inside it with all Azure customers, but I also don’t know how hard this is to manage. I’d at least like some storageaccount.region.file.core.windows.net or maybe some storageaccount.domain.file.core.windows.net.

    Standard and Premium

    As you might expect, there are two tiers for Files: standard and premium, As you might guess, one is HDD based (Standard) and one is SSD (premium). I’m sure you can guess one costs more (premium) than the other, and also has lower latency.

    What was surprising to me was the makeup. Standard is a General Purpose version 2 (GPv2) account, while premium is a Filestorage account. More interesting to me is the GPv2 account can have queue, container (blob) or table storage, but the FileStorage is only for file shares. Premium is more limited, though with higher performance.

    Lots of stuff seems to be geared to GPv2 storage, including data lakes, so I’m surprised here. FileStorage does allow NFS, whereas the GPv2 is only SMB.

    The other thing is that the premium storage has LRS (local redundant) and ZRS (zone redundant), but not GRS (geographically redundant) options. That means that you have some less reliability/availability, though both are very reliable overall.

    It makes sense that high performance SSDs might not be able to easily manage large files across geographic regions quickly, but it wasn’t what I intuited. I missed this on a practice test, so decided to write about it a bit and try to cement this in my memory.

    Things to Know

    If you are replacing an on-premises file share, Azure Files is what you use. Know that the redundancy differences, and understand the differences in the two levels.

    Hopefully this helps you in DP-900 prep.

  • DP-900 Preparation Guide

    This is part of a series on my preparation for the DP-900 exam. This is the Microsoft Azure Data Fundamentals, part of a number of certification paths. You can read various posts I’ve created as part of this learning experience.

    I was asked to pursue a few Azure exams as part of Redgate’s partnership with Microsoft. I’ve been slowly studying some concepts and working towards exams in spare time, but getting more focused in January. I made this a part of my goals for 2022, and it’s been an interesting experience to work towards this exam.

    I’m providing an overview of my resources, and I’ll add new posts for various detailed items I found interesting with links as well.

    Overview of Preparation

    The first thing I did was look over the exam page. This lets the reader know what is being covered as well as the purpose of the exam. There is a note that some things have changed as of Oct 2021, and there is a new PDF to look at with the various areas being tested.

    Download the PDF.

    That’s first, and then check the scope of the exam. There is a lot here, including, but not limited to:

    • data workloads
    • relational Azure services (including PostgreSQL and MySQL/MariaDB)
    • Synapse
    • security (firewall, auth)
    • deployment options
    • query tools
    • DDL and DML
    • non-relational data
    • Azure Storage, Azure Files, Azure Tables, Azure queues
    • Azure CosmosDB
    • analytic workloads, including HD Insight, Databricks, ADS, and Synapse
    • Power BI

    That’s daunting.

    I also looked over some guides from others:

    This seems like a lot, but since the exam can only cover so much, I didn’t expect to be too detailed in each area. However, you do need to know quite a bit about a number of different areas.

    I looked over these, trying to determine what I knew and didn’t know. These gave me hints about which places to spend a little time. I didn’t watch all of the Andrew Brown video, but I did look over the others.

    Prep Process

    I started looking for an overview of each area. Microsoft Learning has some free reading courses, and sandboxes for practice, that I used. I went through these learning paths:

    These each are tens of minutes, but there is a lot of information to absorb about each area. Quite a few of these areas I hadn’t spent much time working in, so I found myself dropping into the MS Docs to get a little more clarification of the area.

    I also took the MS sample question test to get an idea of what I actually knew. I learned that I had quite a few holes in small areas, though overall I knew most of what was being covered.

    I haven’t taken the exam yet, as I’ve been spending an hour every 2-3 days going over some concept and trying to learn a solid overview of what it consists of and how it might be used for data work. Lots to learn here, and the thing I do like is that this forces me to actually dig into topics at a slightly deeper level and helps me to understand a bit more about the options in Azure.

    It also helps me to have better conversations with customers, which is important for my job. I’m not an expert, but I have an idea how of what Azure Table Storage is v. CosmosDB and can understand why someone might choose one of the other in a conversation. At least I can talk basics and know where to look for more detailed information.

  • CosmosDB and Consistency

    This is part of a series on my preparation for the DP-900 exam. This is the Microsoft Azure Data Fundamentals, part of a number of certification paths. You can read various posts I’ve created as part of this learning experience.

    Update: Added a few things for studying for DP-900

    I was doing a little work with CosmosDB recently, and there were a few things that surprised me about the platform.  I’m also not 100% sure I completely understand these, but I’m slowly expanding my knowledge.

    I had known there were various consistency levels, but hadn’t ever really looked at them in detail. There is a page on MS Docs that has some animated gifs that help explain the levels. I think the images are useful, and I’m going to try and understand what this means from the perspective of a relational person.

    Strong Consistency

    This means the replicas remain in sync, and the clients always see the same data, without running into uncommitted or partial writes. This is similar to what SQL Server provides by default for one database.

    This also prevents multi-region writes. This is a synchronous commit across regions, essentially.

    Bounded Staleness

    In this case replicas might be slightly behind the one where writes have occurred. In essence, a delay. I think of this as snapshot replication, where we might set a time between updates.

    CosmosDB is not using this, and it’s better about keeping things up to date with a certain number of versions or time between updates, but you set upper bounds on how stale info is. I wish we could do this with replication in SQL Server.

    Essentially, this is consistency, but with a delay across regions.

    Session Consistency

    This one seems slightly tricky. I’m sure if I read it and watch the image 100 more times it will be easy, but this really means that within a session, I get consistency. It also looks like this is for reads and writes in the region. I believe this is the default.

    I don’t quite know what this means for SQL Server. It’s likely something like async AGs? Not sure what I think here.

    Consistent Prefix

    This level allows some dirty reads, so it gets into that area that makes me, as a relational person, uncomfortable. At least we never see out of order writes. From the visual, this looks like there could be various delays between regions. Feels like normal replication to me.

    Eventual

    This is likely what many people think about with non-relational platforms, and it worries them. There’s no guarantee of write order, or when you will see the updates in any particular region.

    For some problem domains, this is really bad. For many that I’ve worked in, it’s fine. As long as the delays aren’t too long, this is tolerable for many applications.

    It still makes me slightly nervous.

    Summary

    Dealing with the nitty gritty of consistency, across many copies, and many clients, is weird. It’s complex, and hard to think about for a human. However, I am glad there are some choices, allowing applications to pick what suits them.