| The Complete Weekly Roundup of SQL Server News by SQLServerCentral.com | Hand-picked content to sharpen your professional edge |
| Is Perfect Software Attainable? I was in a social media discussion the other day where someone said “Perfection isn’t real, but progress is.” This started me thinking, is there really no perfection? Can you not actually create a piece of software that is perfect? Of course you can. As long as your requirements are perfect, and the code does exactly what the requirements want, and you get everything exactly right, you can attain perfection. But let’s be realistic, perfection is rarely attained unless your requirements are akin to a school assignment that says: “Print out ‘Hello World’” Most requirements documents contain far more than you can realistically accomplish, and modern computing is a complicated menagerie of technologies all strung together to meet complicated requirements to not only accomplish a task, report on that task, but also predict how many users will come back and do that task again one day (among other things). The concept of the MVP has taken over in the past few years, and if you haven’t heard the term, it is not as positive as the acronym sounds to any sports fan. It means Minimum Viable Product. It basically should mean to ship the minimum product that will do something positive for the customer and get them closer to that perfection they wanted. But how do you know what the customer wants? Will you ever give them what they want if you don’t attempt to capture what their “perfect” solution would look like? This is why perfect must be a real concept, even if it is rarely attainable (and I will freely admit, rarely understood even well enough). If you don't even try define what the perfect solution is, what are you targeting? Mediocre? Just OK? Good enough? Determining what perfect is, is a lot safer and easier than trying to nail down good enough. If you try to define your customer’s desires in the terms of “this is good enough” without getting an idea of what their perfection is, as timelines slip and features fall off, you are negotiating against what they had already said was their bare minimum good enough, rather than their actual desire for a perfect solution. So, by definition, you end up with an MVP that isn’t good enough and may not even be minimally viable. Part of defining perfection is to tag parts of the requirement as necessary versus the ideal that you are wanting from the perfect solution. Last thing… perfect changes over time. The reason for iterative development, defining mere slices of the overall perfection, MVPs, good enough solutions, and all that is simply the problem of time. Back in the dark ages of waterfall development, people spent lots of time defining perfect, but by the time the code was being written, and certainly near that glorious final release… perfection had often shifted for one reason or another and the customer wanted something else. Sometimes entire generations of hardware and software would occur, sometimes the process was so slow the problem you were trying to solve had already failed. Perfection is certainly achieved on rare occasions, but for the most part, it is only a hypothetical target that you know is somewhat unlikely and likely to change even if you did attempt to attain it. It is just that without that target, you are shooting for imperfection and that is a slippery slope. Louis Davidson (@drsql) Join the debate, and respond to the editorial on the forums |
The Weekly News | All the headlines and interesting SQL Server information that we've collected over the past week, and sometimes even a few repeats if we think they fit. |
AI/Machine Learning/Cognitive Services |
In this post, I'll show you how to use your own cu... |
Companies that prioritize privacy as a foundational principle of AI will safeguard consumers while enabling sustainable AI growth, writes LiveRamp VP of Product Matt Karasick. |
My previous blog post on this topic was Introducti... |
Administration of SQL Server |
Chad Callihan tells us: How often do you evaluate your Query Store configuration? Have you ever had Query Store configured in READ_WRITE mode only to… |
David Fowler comes in with a quick tip: This is something that I’ve seen pop up a couple of times on various forums recently, how… |
Let’s have devs look at their own query performa... |
How often do you evaluate your Query Store configu... |
Introduction These are my SQL Server Diagnostic In... |
Fun and No Profit Normally I don’t have many que... |
Ola Hallengren’s free maintenance solution is wi... |
Delete multiple items at once now in Azure Cosmos ... |
Now Azure Synapse Link for Azure Cosmos DB custome... |
Learn more about monitoring database availability for Azure SQL Database using the SLA compliant availability metric. Watch on Data Exposed Resources: Azure SQL DB availability portal metric Monitoring Azure SQL Database with metrics... |
Google image results for the keyword ‘funnel cha... |
This article describes a simple approach that you ... |
Have you ever found yourself staring at a graph or... |
The majority of graphs and slides you see from us here feature plain, white backgrounds. While that’s a typical situation when communicating, it certainly isn’t the only one. At... |
Database Design, Theory and Development |
Hoen Nguyen explains a couple of terms: In the wor... |
This book was recommended by some of my colleagues... |
ETL/SSIS/Azure Data Factory/Biml |
Yep it’s more SSIS again this week. Here we’ll... |
Microsoft Fabric ( Azure Synapse Analytics, OneLake, ADLS, Data Science) |
How to get the TopN rows using Python in Fabric No... |
Oracle/PostgreSQL/MySQL/other RDBMS |
In the realm of relational databases, MySQL stands out as one of the most popular choices. Maximizing its performance is crucial, especially in highly concurrent environments where multiple transactions compete for resources. InnoDB, the default storage engine for MySQL, employs a technique known as Multi-Version Concurrency Control (MVCC) to address concurrency needs and enhance performance. In this exploration, we delve into the intricacies of MVCC, especially how it is implemented, understanding its components, its role in transaction isolation, and how to optimize and manage it for peak efficiency. |
A cool standard SQL:2003 feature is the aggregate ... |
The story goes almost two decades back. I was studying computer engineering in College of Engineering Pune. Prof Vinayak Joshi had recently joined COEP and had research interest in discrete... |
Learn how the combination of ORDER BY and LIMIT clauses in PostgreSQL affects query performance, and discover optimization techniques to maintain efficient database performance and fast query responses. ... |
Invitation from James Blackwell-Sewell I had t... |
Performance Tuning SQL Server |
We’re already at part 31 of the plansplaining se... |
SQL Server Security and Auditing |
This post is part of our SQL Server security blog ... |
Jeff Iannucci has a series on security in SQL Serv... |
This post is part of our SQL Server security blog ... |
Inheriting a server, whether as an inexperienced u... |
Jeff Iannucci talks about a role that might as wel... |
Microsoft's Windows Recall AI feature hasn't launched yet but it's already a target. |
David Seis has some advice: Roles play a crucial p... |
Pieter Vanhove explains what secure enclaves are a... |
This post is part of our SQL Server security blog ... |
More than 20 years ago, I wrote a book about SQL I... |
The latest attack targeted a “life-critical” supplier to the UK’s NHS. |
Stung by criticism from security researchers, Microsoft today announced major changes to a key feature of its new Copilot+ PCs. The changes include enhanced encryption and new ways to... |
T-SQL and Query Languages |
XML is a common storage format for data, metadata, parameters, or other semi-structured data. Because of this, it often finds its way into SQL Server databases and needs to be managed alongside other data types. Even though a relational database is not the optimal place to store and manage XML data, it is often needed due to application requirements, convenience, or a need to maintain this information in close proximity to other app data. This article dives into a variety of common XML challenges and the functionality included in SQL Server to help make managing them as simple as possible. |
In my previous post, I showed how to borrow a snake draft concept from fantasy football, or a packing technique from the shipping industry, to distribute different portions of a workload to run in parallel. In the previous example, we determined a distribution order for databases based on size – though you can rank by literally any attribute (or combination of attributes). Once we’ve determined how to build out this order, we may want to store that data somewhere because, sometimes, the source of that data is not directly accessible. |
XML is a common storage format for data, metadata,... |
We are excited to announce that the UNISTR intrins... |
Microsoft Build 2024 was just last month (at the t... |
I have a piece of code that has been living, rent-free, in my head for the past 30 years or so.In middle school (I was 12 - 13 at... |
Tools for Dev (SSMS, ADS, VS, etc.) |
This tip will guide you through creating your firs... |
Sails.js is a robust web development framework that runs on top of Node.js and uses JavaScript’s asynchronous features to speed up the production of applications. Its adherence to the Model-View-Controller (MVC) architecture, which simplifies feature separation and code organization, is a critical component of its attractiveness. Rapid application development is facilitated by Sails.js’ pre-built components and user-friendly APIs for developers. The framework is robust in scenarios involving real-time communication, which makes it perfect for interactive applications. Its Object-Relational Mapping (ORM) technology facilitates smooth integration with different databases by streamlining database interactions. Sails.js abstracts complexity and provides flexibility and scalability for projects of any size, from small-scale apps to large-scale business solutions, freeing developers to concentrate on application logic and user experience. |
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. Note: This is not the SQLServerCentral.com daily newsletter list, and unsubscribing to this newsletter will not stop you receiving the SQL Server Central daily newsletters. If you want to be removed from that list, you can follow the instructions on the daily newsletter. |
|
|