Press "Enter" to skip to content

Month: April 2023

Kafka Topics and Message Ordering

Francesco Tisiot calls us to order:

One of Apache Kafka’s most known mantras is “it preserves the message ordering per topic-partition,” but is it always true? In this blog post, we’ll analyze a few real scenarios where accepting the dogma without questioning it could result in unexpected and erroneous sequences of messages.

Click through for a dive into what can go wrong with ordering. The good news is, in most cases, exact ordering isn’t critical. For cases in which it is critical, you’re trading off reduced throughput for increased order integrity.

Comments closed

Building Strings in Powershell with StringBuilder

Robert Cain takes to a .NET class to build some strings:

As I was creating the next post in my ArcaneBooks series, I realized I had not written about the StringBuilder class. As the code in my ArcaneBooks module relies on it in several places, I thought it best to add a new post to my Fun With PowerShell series explaining how to use it before continuing.

It’s a common need in any language, and PowerShell is no exception, to need to add more text to an existing string.

Read on to understand why the StringBuilder class exists and how to use it. If you’re doing a lot of string manipulation, particularly of large strings in loops, this can provide a noticeable performance impact.

Comments closed

Handling Error 574 during a SQL Server Upgrade

Tom Collins sorts out a nasty issue:

Script level upgrade for database ‘master’ failed because upgrade step ‘msdb110_upgrade.sql’ encountered error 574, state 0, severity 16. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the ‘master’ database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.

Read on to learn what caused this error and how Tom was able to work around it.

Comments closed

Thinking about Execution Plan Icons

Hugo Kornelis polls the community:

Fast forward to today. More than five years have passed since I published the first pages of the SQL Server Execution Plan Reference. The world has changed, in many ways. But the icons on the reference pages have not. One might wonder whether the choices I made over five years ago are still relevant today. Or rather, I know that they are not all relevant anymore, I know that there is very good reason to rethink those choices. But this time, I prefer not to do this on my own. This time I am asking your feedback.

Click through for the entirety of Hugo’s request. My recommendation would be to keep the SSMS/ADS icon set but not old SSMS or SQL Sentry Plan Explorer. I like and still use Plan Explorer (and it’s the only third-party SQL Server execution plan reader I regularly use) but don’t need to see that icon set in Hugo’s documentation to understand what he’s covering.

Comments closed

DAX Updates: RANK and ROWNUMBER

Jeffrey Wang takes us through some DAX language updates:

In the April 2023 release of Power BI Desktop, two new functions, RANK and ROWNUMBER, have been added to the DAX window functions family, along with significant enhancements to the ORDERBY sub-function. These improvements allow ORDERBY to support sorting by arbitrary DAX scalar expressions, rather than being limited to column names. This not only benefits the new functions, but also existing window functions that we have previously discussed here and here. You might be wondering, since we have had RANKX and RANK.EQ since the inception of DAX, why do we need another rank function? In today’s blog, we will address this question and explore other considerations related to using these new functionalities.

Click through for examples and caveats.

Comments closed

Building an Azure DevOps YAML Pipeline

Olivier Van Steenlandt busts out the YAML:

In previous blog posts, I explained how to automate the Database Project Build & Deployment process using Azure DevOps (Release) Pipelines. These blog posts focused on setting up as easily as possible using the Classic Editor.

In this blog post, I’m going through the steps of setting up a build pipeline using YAML.

Read on to learn why the YAML-based approach is the best option for ADO and how to build a pipeline.

Comments closed

Building a Report Development Workflow for Power BI

Richard Swinbank thinks about process:

In this series I’ll be talking a lot about workflow. Loosely speaking, report development workflow is the set of steps you have to take to create or update a Power BI report. This typically starts in Power BI desktop, and doesn’t end until users are able to get business value out of a report in the Power BI service.

A good workflow frees a report developer to do the things they like and are good at – understanding business problems, and crafting beautiful reports to help solve them. Anything that that doesn’t contribute to that just gets in the way – a bad workflow clutters up the development experience with peripheral tasks like version control, managing environments and performing deployments.

Richard shares a good number of thoughts on the matter, so check them out.

Comments closed