Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
The Voice of the DBA
 

The Data Model Matters

I ran across a statement that seems exciting to me as someone that has written a lot of code in their career. It said: "Many of the "modern" software practices of the last decade were early adaptations to this shift, even if we didn't articulate them that way. Immutable infrastructure. Stateless services. Containers. Blue-green deployments. Infrastructure as code. These ideas all share a common premise: never fix a running thing. Replace it."

These are a few sentences in this piece on the death and rebirth of programming. That's how a lot of software developers have viewed the world during the last decade and we've seen a lot of software advances in that time. The very successful developers and teams, who often speak at conferences and publish papers have adopted many of these practices. Serverless, containers, lots of tests allowing continuous deployment of new objects into complex environments that scale to levels many of us never thought possible. These are the very high performances talked about in the State of DevOps report every year.

At the same time, many people reading about these successes and trying to emulate them struggle. So many customers I know want to use containers, but struggle. Many teams lose control over serverless functions and stateless systems, having issues with immutable infrastructure. They revert, or often combine, older ways of building and deploying software with some of the techniques they read about.

If they struggle with stateless systems, it's no wonder they struggle with the really, really important stateful ones: the databases.

Databases are state machines. We evolve and grow them. NoSQL systems were developed to try and deal with some of the scale issues with relational systems, but they often push the immediate problems of concurrency and efficiency to the side, invoking eventual consistency and redundant data models that keep multiple copies of data around for quick access. They also defer one of the strengths of relational systems, aggregating lots data, to a data warehouse, data lake, or some other architecture.

That works great, though it comes at the cost of more compute, more latency to develop and produce those aggregations, and more cost to store all that data in yet another place. That's not to disparage those designs. They work well and handle workloads most relational systems couldn't manage.

However that brings to mind two things. One, perhaps that easy and instant aggregation isn't as important as we think. After all, often companies at that size never have a view of all their data. It's changing too often, yet they are successful. Secondly, if you don't have the funding to manage that complexity (both in machine and human resources), perhaps you ought to focus on what is important in this age of cheap code changing often.

Build a strong data model and write efficient SQL Code.

Steve Jones - SSC Editor

Join the debate, and respond to today's editorial on the forums

 
 Featured Contents
SQLServerCentral Article

Understanding SQL Server PARTITION BY with Examples

Imran2629 from SQLServerCentral

Introduction When developers first learn SQL aggregation, they usually start with the GROUP BY clause. It works well for summary reports because it combines multiple rows into a single result for each group. For example, you can calculate total sales per region or average salary per department. The limitation of GROUP BY appears when you […]

SQLServerCentral Article

PASS Europe comes to Frankfurt

Steve Jones - SSC Editor from SQLServerCentral

PASS Europe comes to Frankfurt, Germany on June 10-11, 2026.

Blog Post

From the SQL Server Central Blogs - T-SQL Tuesday #198 Roundup: How Do You Detect Data Changes?

Meagan Longoria from Data Savvy

Thank you to everyone who participated in T-SQL Tuesday #198! When I wrote the invitation post, I intentionally kept the prompt broad because change detection looks different depending on...

Blog Post

From the SQL Server Central Blogs - Optimizing Redshift Performance by Configuring WLM Queues

epivaral from SQL Guatemala

Efficient query performance in Amazon Redshift often comes down to how well you manage workload concurrency. Redshift's Workload Management (WLM) queues enable you to control how queries share resources,...

SQL Server 2025 Unveiled: The AI-Ready Enterprise Database with Microsoft Fabric Integration

SQL Server 2025 Unveiled: The AI-Ready Enterprise Database with Microsoft Fabric Integration

Site Owners from SQLServerCentral

With built-in AI for application development and advanced analytics powered by Microsoft Fabric, SQL Server 2025 empowers you to innovate—securely and confidently. This book shows you how.

 

 Question of the Day

Today's question (by Steve Jones - SSC Editor):

 

Running SQLCMD I

I run the SQLCMD utility as follows:
lcmd -S localhost -E
I then type this (the 1> is the prompt):
1> select @@version go
If I hit enter, what happens?

Think you know the answer? Click here, and find out if you are right.

 

 

 Yesterday's Question of the Day (by Steve Jones - SSC Editor)

Secure Cached Plans

The DMV, sys.dm_exec_cached_plans, contains rows for each cached plan on an instance. In Azure SQL Database, not every used has rights to every database, as there does exist an instance behind each database.

How is security handled for this DMV in Azure?

Answer: Data is filtered out if there is info that doesn't belong to the connected tenant

Explanation: Data is filtered out. The exact quote is:

In Azure SQL Database, dynamic management views can't expose information that would impact database containment or expose information about other databases the user has access to. To avoid exposing this information, every row that contains data that doesn't belong to the connected tenant is filtered out. In addition, the values in the columns memory_object_address and pool_id are filtered; the column value is set to NULL.

Ref: sys.dm_exec_cached_plans - https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-cached-plans-transact-sql?view=sql-server-ver17

Discuss this question and answer on the forums

 

 

 

Database Pros Who Need Your Help

Here's a few of the new posts today on the forums. To see more, visit the forums.


SQL Server 2019 - Administration
Dealing with huge heap tables - Recently, our dev teams approach me for advice on improving their huge heap table which are causing issues on their DBs IO usage. This particular DB is hosting an old in-house application and the dev teams has been doing a lot of work modernizing & improving it's table structure. They hit the wall when trying […]
Data Transformation Services (DTS)
Before Using AI with Business Data, Read This - Artificial intelligence tools are quickly becoming part of daily business operations, from document analysis and reporting to workflow automation and customer support. While these systems can improve productivity, many organizations are adopting AI faster than they are addressing potential privacy and security risks. One of the biggest concerns is how sensitive business information is handled […]
Editorials
The New Software Team - Comments posted to this topic are about the item The New Software Team
Limit the Blast Radius - Comments posted to this topic are about the item Limit the Blast Radius
What Can AI Really Do? - Comments posted to this topic are about the item What Can AI Really Do?
We Are Eating Our Own Seed Corn - Comments posted to this topic are about the item We Are Eating Our Own Seed Corn
Article Discussions by Author
Database Mail in SQL Server 2022 - Comments posted to this topic are about the item Database Mail in SQL Server 2022
The string_agg function - Comments posted to this topic are about the item The string_agg function
Stairway to Reliable Database Deployment Level 3 – Rehearsing Changesets Across Environments - Comments posted to this topic are about the item Stairway to Reliable Database Deployment Level 3 – Rehearsing Changesets Across Environments
QUOTENAME Quote Parameters - Comments posted to this topic are about the item QUOTENAME Quote Parameters
Why Your Index Isn't Being Used? - Reading Execution Plans to Find the Real Culprit - Comments posted to this topic are about the item Why Your Index Isn't Being Used? - Reading Execution Plans to Find the Real Culprit
Distance Metric Algorithms - Comments posted to this topic are about the item Distance Metric Algorithms
Designing SQL Server ETL Pipelines That Don't Break at Scale - Comments posted to this topic are about the item Designing SQL Server ETL Pipelines That Don't Break at Scale
Detecting Deadlocks Quickly - Comments posted to this topic are about the item Detecting Deadlocks Quickly
SQL Server 2022 - Administration
Merge Replication failing with Error converting data type nvarchar to numeric - After upgrading 2 Merge Replicated databases to SQL 2022 and re-establishing the Merge Replication on the new environment, the synchronization is giving me the error message: "Error converting data type nvarchar to numeric. (Source: MSSQLServer, Error number: 8114)". The initial create of the Publication/Subscription failed silently because of some unusual network and cross domain restrictions, […]
 

 

RSS FeedTwitter

This email has been sent to {email}. To be removed from this list, please click here. If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com. This newsletter was sent to you because you signed up at SQLServerCentral.com.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -