Author: way0utwest

  • Technology Flows Downstream

    A few years ago, I was listening a session on Azure SQL Data Warehouse at an event. At the time, one of the features I found fascinating was the separation of the storage from the compute portions of the service. We could load a lot of data in the system and pay for the storage, but we could spin up and down compute nodes to essentially scale out query processing to match our workloads. Azure Data Lake has something similar, and I was excited.

    I wasn’t excited about ASDW or ASDL because I don’t really use those platforms in my work, and I don’t have customers to talk to about those. I think they are useful, just not for me. I was, however, impressed with the technology, hoping that it would be coming in the next few years to SQL Server in the box and Azure SQL Database.

    It’s coming in SQL Server 2019, or at least, the start of it. We will get compute nodes, managed by Kubernetes, that will query other storage nodes that scale out I/O access. We also get this with Azure SQL Database in the Hyperscale edition, where there will be query servers and cache servers, designed to scale to infinite, or at least multi-petabyte, ranges

    I wasn’t always sure that the investments in Azure would pay off for the database side of things. It felt like Azure Stack was a natural place to help us manage and deploy SQL databases, and that the contained database work started in 2012 would get pushed by the needs of the Azure cloud, evolving and growing in future versions. We haven’t seen those pieces of technology grow, but I do think technology in other parts of the data platform has flowed to the “regular” OLTP database space.

    The separation of compute and storage really begins with the SQL Server 2019 era release, and I suspect that’s just the first step of how our SQL Server database systems will evolve in the future.

    Steve Jones

    Listen to the podcast at Libsyn.

  • Just a Week to SQL Sat Pensacola

    One of my favorite events, in a wonderful place to spend the weekend. I’ve been to Pensacola a few times (3?), including a couple times with my daughter. It’s always a fun weekend with Karla, Rodney, Ed, and the other organizers that make it a fun event. Even deep sea fishing Sunday if that’s your thing.

    This year I’m heading back after missing a few events. I’m lucky to go and I’m looking forward to delivering a new presentation. This one is one the future of Database Development with Containers, showing a vision of how things are changing. Microsoft has shown some similar items, but I’ve got some cool technology to show off from the Redgate Research Division, the Foundry.

    If you’re nearby, register and join me next weekend, June 29th, for SQL Saturday #884.

  • An Alert Philosophy

    Many of you reading this will be responsible in some way for managing a system. This might be a test/development system or a production one, but often you want to know how well the system is working. Or maybe you want to know if the system is working at all. Even developers care if their server is up.

    There are plenty of ways to get information about a server. Some of us monitor in an automated fashion, some of us check when we think something is wrong, but no matter what you do, you are often looking for some data about the state of the system. When the system lets you know automatically, this is what we call an alert, though getting the alert because you can’t connect and the system is down might not be the best type of alert.

    I’ve managed lots of production systems, and usually have implemented some sort of process to let me know when things happen. These could be good or bad things, or just things, but they are alerts that I can about. They provide me with information that I will use in some manner to make a decision. In other words, some sort of human decision and response is needed here.

    A alert should be something that calls for action, or at least, that’s what Google thinks. This short piece contains information Google’s SRE work. Their definition of an alert is something a system (not a user) generates and something that requires human action, not automated responses. The article talks about good alerts and hierarchies of alerts, and more. Everyone has their own method of picking and configuring alerts, but you should think about what interruptions you need, and what sort of timeliness is required from a human.

    Personally, I decide if an alert requires immediate action and if so, then the alert needs to hit my device (phone, pager, fax machine, wife’s mobile, whatever). That way I can make a decision to actually deal with the situation or pawn it off on Kendra or Grant. Those are real time decisions and there ought to be few of those in any system.

    If it’s not something I need to fix now, then it can be filed in email or as a lower priority item in my monitoring software. Those items need to be alerts and not logs because I only look at logs when I’m really confused and can’t fix something. The low level alerts are things like I’m running low on disk space for a system and will run out in 30 days. That’s not something I break away from a date with my wife for, but it is something I want to start thinking about if there’s a lead time to make changes.

    No matter how you view alerts, it does pay to think about them and try to reduce the number and frequency of alerts that hit your administrators. That might be configuring your monitoring differently, it might mean adding resources, or it might mean fixing broken software. We can burn out people as well as customers with constant breakage, so fix those things that are worth alerts.

    Steve Jones

    Listen to the podcast at Libsyn.

  • Republish: SSMS or SSDT

    Flying back from Melbourne today. I left lots of hours ago, and am probably landing in a couple hours, but no work today. Just travel. Entertain yourself with SSMS or SSDT.