Voice of the DBA
One of the things I see software developers often talking about is how they refactor code. As they touch a class, method, etc., they may take the time to refactor the code to make it cleaner, perform better, or just add some documentation. It seems that a regular part of a software developer's job is refactoring code in the codebase. That is unless they see a "don't touch this, no idea how it works" comment. There are plenty of those, and often everyone leaves that code alone. Read the rest of
info_outlineVoice of the DBA
The GenAI boom is growing like crazy. From hype to disasters to successes to investment to the embedding of GenAI tech into lots of products, it seems no one gets away from AI. My wife, kids, friends, they all talk about AI and alternately give me stories of huge successes or epic failures. Even those who just scroll through reels aren't immune as we see amazing things, but we can't trust them because of AI. Who knows what image/video/audio was actually recorded and what was generated. Like many of you, I think AI can be amazing. Like more of you, I think it can be a really poor partner and it...
info_outlineVoice of the DBA
Recently I saw an article on Simple Talk, , and I thought that many of these are fairly simple things. Turn off unused features, disable sa, etc. These are things that a lot of people probably ensure are in their SQL Servers builds. Though, I'm sure a lot of people don't bother. Read the rest of
info_outlineVoice of the DBA
Imagine a perfect world? I have an AI agent that knows my business well. It's getting real time input from sales, from customers, it makes amazing decisions. We get a large order? We need to ramp up production of our widgets. We have an order pipeline of xx widgets and we know over time that yy% will close. Let's place a larger order with a supplier overseas. The next day, we have an election and tariffs are announced on imported parts. We react immediately, cancel the order, start the process to expand a local factory. We place ads to hire workers and order equipment. Things are looking good...
info_outlineVoice of the DBA
Over the years I've had no shortage of licensing questions for SQL Server. At times it's felt a little crazy. Look at the . Choose EE or SE and the number of cores. Then check if you're using VMs. Oh, and consider the cloud, and which cloud you're running a workload on. It's simple right? It can seem confusing, and at times I've wished Microsoft would make it simpler. And perhaps even give us some add-ons, like adding some additional hardware capabilities (cough more RAM *cough) in SE. Read the rest of
info_outlineVoice of the DBA
If you graph computer/query cost against the size of data, you can get four quadrants: small data, small compute (most CRUD app queries) small data, big compute (complex BI queries for this quarter, most reporting) big data, small compute (logs, audit data) big data, big compute (complex BI queries across all our data) Read the rest of
info_outlineVoice of the DBA
A few weeks ago, I was at the in San Francisco. I attended the inaugural event last year and decided to go back again. It's a great chance to hear people thinking about data and its impact on the world in a different way, recognizing that building lager and larger systems isn't always possible. Or a good idea. We might find that smaller systems fit well, especially smaller datasets, which can both serve our purposes and create agility. The of the conference says that "We champion the power of Small Data and smart AI, believing that less is truly more." There's a bit more, but that's the...
info_outlineVoice of the DBA
Mary Spender is a musician in the UK who I follow and hope to see live one day. She works hard producing content about music, that business, and, of course, songs. Recently she had where talked about creative time and focus. In it she referenced Elizabeth Gilbert saying "done is better than good." My initial reaction was "that's right." Read the rest of
info_outlineVoice of the DBA
Recently, I had a few questions on database modeling. One was posted in the , and a customer asked about ERD tooling on the same day. This came shortly after Redgate acquired Vertabelo (now ). This stood out to me as very rarely in the last few years have I found people consulting and updating a diagram while performing database development. When I started as a developer and needed to update a database, I had to first update a diagram that was stored in ErWin. We had a dedicated computer (back when we went to an office every day) where the software was run and any developer could us this to...
info_outlineVoice of the DBA
SQL Server 2025 was released this week. The announcement came at Ignite and the PASS Data Community Summit with keynotes on Wednesday and Thursday, respectively. While there are some things to look forward to in the release (What's New) and some highlights from T-SQL Tuesday this week, it seems that this release wasn't a very exciting one. On one hand, I blame all the Microsoft Fabric focus, which seems to distract from the core product that powers the databases at many organizations. The has had relatively few posts this year, highlighting a few things. The gets more posts, which is...
info_outlineI caught this piece on the need for programmers (developers) to not trust anyone, including themselves. It is written by a software developer for other software developers, but I think it can also apply to database work as well. It is a bit long, but it starts with the nature of abstractions in the world and how they let us work with simpler models of a situation or environment. However, most abstractions are leaky, and our assumptions about them can cause our systems to fail.
The leap from trust to abstractions seems a bit funny, but it makes some sense. We ought to simplify our situations so that we can generalize how to solve them, but we also need to verify things. There are a few examples, one of which is we ought to use tests to ensure the code does what we think it does, including using a wide variety of data. We ought to ensure that refactoring something doesn't break the system, or more often for databases, we return the same results. Changing a query to run more efficiently with joins or a window function instead of a loop or subquery should return the same results. Not just for one row but all rows, and across different inputs.
Read the rest of A Programmer's Attitude