Author: way0utwest

  • Using Copilot to help me update SQL Saturday

    An interesting AI experiment here with Copilot from GitHub in handling some code I don’t work with that often. Read on and watch.

    This is part of a series of experiments with AI systems.

    SQL Saturday Updates

    I keep the sqlsaturday.com site updated with code updates through GitHub. The repository is here: https://github.com/sqlsaturday/sqlsatwebsite

    I had hoped most organizers would fork this and use pull requests to update it, but surprisingly few data professionals are comfortable in Git. It’s fine, and I don’t mind.

    However, sometimes I get text updates that are a bit cumbersome to make. Recently I had someone send me a bunch of table text to update, and as I was editing, I realized that Copilot in VS Code had improved dramatically. You can watch below how it worked.

    Early in the Copilot days, I’d only get the next line added and sometimes the ending tag. Later, it started to suggest things, but from a guess standpoint, not reading what I’d pasted into the editor.

    Now, it’s really, really helpful.

    A cool way that AI can speed up your work, albeit one not a lot of data professionals might need.

  • The Modern Algorithm of Chance

    These days algorithms rule much of the world. From how supply chains are managed to how vehicles run their engines to the media that many of us watch on the various streaming services. I assume that most of you know that algorithms drive what you see on social media, on YouTube, and even the search results you get, and what you see might be different than what I see. There is a constant search for a perfect, or at least, very targeted way of getting you what you want.

    Or at least what the algorithm thinks you want. However, is that the best way for algorithms to be designed? It is for the companies that want to profit from your attention, but is this intense personalization better for us?

    There is an interesting article on music discovery, focusing on Spotify, since they are one of the largest streaming services. The article talks about the algorithm and how it tries to match selections to our tastes, basically a complex data analysis of our choices along with metadata that’s been created around data that’s hard to classify. There are attributes assigned to songs, but are these the attributes that make sense? That’s a topic for another day. The result of this is that Spotify tends to recommend more of what we already listen to, which has also driven artists to change how they produce songs since the algorithm matters.

    This seems like a similar challenge to what I’ve seen with the written word. A long time ago many of us consumed the words (with less choice) in newspapers, books, and other physical media. However, we often ran into random things that were different because of our physical paths in life. We might encounter books in a shop or library and be attracted to a cover for some random reason. We might pick up an unexpected work lying adjacent to one in which we were interested and discover something new.

    The way we look at books, or anything, changes when we browse and randomly wander the world. These days, we have less of that, with algorithms in electronic systems that guide us further on a path we’re walking, not allowing for chance encounters, or even wildly different thoughts because we stumbled on something. Even in our social media, this doesn’t often happen. I’d hope that we might encounter a recommendation from another we wouldn’t otherwise see, but the promotion of certain feeds and the glut of viral re-sharing often ensures that we don’t see many random things. Instead, most of us see the same thing that many others do.

    Those of us who have studied computer science know random things are hard to create in computer systems. Building algorithms that embrace randomness isn’t something many of us focus on, instead trying for matches that reinforce or duplicate something our clients already want/use/see/etc. That has helped create many businesses in the digital world, but I’m not sure that those businesses are always good for the world.

    I don’t have a good solution for random chance, other than talking with others, especially those who live different lives from you, and embracing the way they view the world. Hopefully that leads to a book, movie, or other chance encounter that you might not otherwise have.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.

  • Denver Dev Day Oct 2024

    This Friday is the second Denver Dev Day of 2024. If you’re in the Denver area and you want to come network with fellow developers (and a few data pros) and learn something, come down to the Microsoft office in the Tech center and join us.

    Register now and come Friday. Tickets are FREE

    I’ll be there talking about Continuous Integration in Azure DevOps with Local Agents running your code, but the schedule has a lot of interesting sessions. Quite a few data ones as well.

    If you’ve never been, this is a fun event, you’ll get lunch and chance to win prizes as well as interact with lots of fellow Denver peers, so join me Friday.

  • Monday Monitor Tips: Knowing Your RPO

    A customer was asking recently about the RPO for their estate, and I showed them a few things from the Estate tab in Redgate Monitor. This post covers a few highlights.

    This is part of a series of posts on Redgate Monitor. Click to see the other posts

    Knowing Your RPO

    It’s not often I have been asked by a business user about the Recovery Point Objective, though I’ve seen plenty of DBAs ask business people what they want as an RPO. If you don’t know what an RPO is, read this, and then think of this as the amount of data I could potentially lose.

    Not that I will, but it’s possible.

    In Redgate Monitor, the Estate tab shows you the RPO for all databases, as a graph. I’m showing this one from the demo site at monitor.red-gate.com. As you can see, I have most of my databases with an RPO of 1 hour or less. The vast majority are under 12 hours.

    2024-09_0096

    Note: This graph doesn’t include databases that have never been backed up.

    This is based on backups, not on clustering or AGs or anything else, but this does let me determine if I think my estate is healthy. I wish I could alert or easily monitor this, but I can see if there are problems.

    If I scroll down, I can sort the table of all databases by the worst RPO. I see this, which shows the SSC server at the top.

    2024-09_0102

    I’m not worried, as this is an AG setup and the one database is backed up regularly. Obviously we had a hiccup as 3 days is crazy, but I’m confident someone fixed this as I see a lower RPO with the current backups that have been completed.

    If I filter by these servers, things look better.

    2024-09_0103

    At an estate level, there may be systems with a large RPO. Data warehouses, or reporting systems aren’t backed up as they can be reloaded in an emergency.

    This is a good way for you to keep a high level view of your estate. In general, you will get a feel for what the estate looks like and you can drill into individual systems or databases if you’re wondering. I wish I could filter by RPO, but maybe that’s coming one day.

    Summary

    This section of the Estate tab gives you a high level view of backups and how you’ve configured them. Ultimately your backup schedule is less important than the RPO it produces and this let’s you keep an eye on what the RPO is for everything.

    Redgate Monitor is a world class monitoring solution for your database estate. Download a trial today and see how it can help you manage your estate more efficiently.