Press "Enter" to skip to content

Month: November 2026

Azure SQL DB Hyperscale versus Distributed SQL Solutions

Anna Hoffman clarifies:

In my last post, I broke down the Socrates paper, the research that became Azure SQL Database Hyperscale. Writing it made me want to tackle a question I think trips a lot of people up when they’re choosing a database: is Azure SQL Database Hyperscale “distributed SQL”? 

It’s a fair question. “Distributed SQL” has become shorthand for “the relational database that scales in the cloud,” and anything outside that bucket tends to get filed under “the relational one my company already has.” I’d rather not leave that to assumption, so here’s how I think about it. 

Read on for Anna’s take.

Leave a Comment

Lakehouse Design and Direct Lake Performance

Nikola Ilic shares some numbers:

When a Direct Lake report is slow, people open the semantic model first. They check relationships, rewrite DAX, look at the capacity metrics. In my experience, the cause usually sits one layer down, in how the Delta tables under the model were written.

That sounds like a bold claim, so I wanted to test it properly. I took one dataset of 500 million rows and wrote it to seven Delta tables. Each table differs from a baseline in exactly one way: the number of files, the row group size, V-Order, or partitioning.

The performance matters more for cold data, though when you’re dealing with a data lake, that risk goes up considerably versus a relational database platform where we try to keep as much data in cache as possible.

Leave a Comment

Preparing a Domain Controller for a Home Lab

Lee Markum continues a series on building a SQL Server 2025 home lab on Linux-based hardware:

In part 1 I described laying the foundation for the lab. This post will describe building the Windows domain controller and other machines on my Linux Mint host.

My goal was to have a realistic, production-like configuration. As a result, I wanted a domain controller, two SQL Servers in a Windows cluster and an Availability Group.

Looking back through the ChatGpt thread, I apparently started cloning the Windows Server template for the SQL Servers before I made a domain controller. I don’t know why I did that, but I wouldn’t do it that way again. I’ll give you the instructions in a better order.

Please note that domain names (example.com), subdomain names (lab), and IP addresses shown in this article are examples. Some identifying details have been changed, but the configuration and procedures remain the same.

Click through for Lee’s notes.

Leave a Comment

Removing a 4TB Table in PostgreSQL

Radim Marek drops a table:

GitLab has a public story about deleting the wrong thing. In January 2017 an engineer who was trying to restore replication wiped a data directory they believed was on the secondary. It was on the primary. The postmortem they published afterwards is still one of the better things written about a database outage.

At PGConf.EU in Valencia last week a few people from GitLab came to me with the inverse problem. They have one table, 4 TB, on a primary with ten replicas, and they want it gone, on purpose, with as little impact as they can manage. It’s an archival table: nothing writes to it, and nothing is supposed to read it.

Read on for a variety of thoughts around different ways to get to the same end state at differing levels of user impact.

Leave a Comment

Securing Microsoft Fabric Gen2 Dataflows API Keys

John Kerski saves some keys:

If you’ve ever developed a Gen1 dataflow to connect to an external API (Application Programming Interface), you know the awkward moment when you have to paste an API key into the Power Query script.

There it sits, in plain text, inside an artifact (the proper name for something like a semantic model, report or dataflow created in the service), with limited options for secret rotation or access control.

Thankfully, Gen2 dataflows improve the story considerably – especially when Azure Key Vault, Microsoft Fabric pipelines, and the newer parameters feature are combined.

In this guide, I’ll show you the pattern I now reach for when I need to pass API secrets into a Fabric Gen2 dataflow without leaving them in code or configuration.

Click through to see how.

Leave a Comment