Tag: Microsoft

  • Put Your Data in a Box

    A few years ago I was attending a keynote talk from one of the scientists that works CERN’s Large HADRON Collider (LHC). The talk was about data and how they deal with a large volume of data from experiments run on the machine. If you’re wondering what large is, the scientist talked about peak experimental data being over 1PB/s. I don’t know how much data you capture, but that’s a lot.

    In fact, it’s so much, that if they tried to analyze all that data, they’d never get around to running experiments. Instead, they depend on some pre-processing of data in sensor hardware as well as some early aggregation to get the data to a manageable level. It’s a good idea, and they have spent a lot of time and effort learning how to do this and still capture meaningful data for their work.

    The capability to remotely process data before sending it on is coming to all of us in a pre-packaged container. The Azure Data Box Edge was announced this week from Microsoft. This is a data processing device that is cloud managed and has FPGAs that you can program. It can run on batteries and is ruggedized for the field. There are more docs at Microsoft on the specifics.

    I don’t know how many companies want this, but I suspect that some who have remote or portable operations might think about it. Certainly if this can gather some data and then upload when a connection is available, it might be a good fit for places that don’t have good network connections and need a device that can handle some adverse conditions. I know sourcing and putting together a system for field offices is a pain. Off the shelf systems don’t always have reliability, and can be finicky to manage remotely.

    Recently I hosted a webinar with Abel Wang, and he talked about AI and ML being technologies whose use will grow dramatically in the next ten years. Perhaps a prediction without merit, but it does seem more and more companies and vendors are putting efforts into finding ways to deploy and operate ML systems. The Data Box Edge has capabilities in that area, which could be useful if you want to locally, and quickly, process data.

    This doesn’t appear to run SQL Server, or it’s not mentioned, but it does seem useful. If you doubt this, I know this is exactly what I would have wanted over a decade ago. I had to install systems in a warehouse to visual inspect some products. We used crude AI-ish systems that were set up to watch evaluation by humans. Eventually, the computer took over part of the job, but with humans randomly verifying its results. Keeping that system running was a pain. A Data Box Edge would have been a much better choice, and I’m sure we would have purchased one.

    There are likely plenty of customers that might be able to use this. It will be interesting to see if Microsoft can find them and sell many of these devices.

    Steve Jones

  • Very Hot Patches

    “At best it would crash” is not a phrase I’d like to have to use as a data professional. That’s a quote from an article that the Azure team wrote about hot patching SQL Server. While this sounds very scary, it’s actually something being used now to patch the SQL Server code running Azure SQL Database.

    Years ago I read a book where the hero was a programmer that had to alter and hack into live code on a mainframe, making changes to thwart the villains. It was a neat concept, and certainly daunting. As someone that had to write assembly code at one point, I had trouble keeping track of instructions when I could map them out on paper. Doing this on live code would be very scary.

    The SQL Server code is not being changed live by a human, but code is being patched without stopping the sqlsrvr.exe process in Azure. There is a blog on the hot patching process, which I appreciate, though I’m not completely sure I get the minute technical details. Still, it’s an impressive feat of engineering to me, and this does make me wonder to what extent platform engineers might structure their code to allow more of this in the future.

    Deploying changes is already a challenge for many of us with database code. Making changes, evolving our schema and adding functionality without downtime or excessive blocking is a challenge. Many customers that look to move to a database DevOps software development process often assume that our tools will just do this for them. They won’t, because any DevOps tools that help with automation don’t magically get around the limitations and restrictions that Microsoft has built into the platform.

    Making changes in real time, without interrupting workloads involve some engineering challenges, but whether at the SQL Server platform level or the database code level, they are possible. It takes some work, some flexibility, and more importantly, some understanding of how changes can be made and the patterns that enable uninterrupted changes. There is often a space and time trade-off, and certainly no magic, though to our customers, it might appear that way if we do our jobs well.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • More MVPs Than Awards

    Every year, July 1 is the Microsoft MVP Renewal date and quite a few people received good news that day. I was one of those renewed for another year, and I am honored that Microsoft chose me again. I also congratulate all the others that received the award for the first time as well as those that were renewed.

    Not everyone was renewed, and some very popular names were dropped from the list. I don’t mean to leave anyone out, but I did see a couple good friends were not renewed: Kevin Kline and Andy Kelly. Both are extremely talented SQL Server professionals and generous with their time and knowledge with the SQL community. They are truly MVPs to me, as they are to many others.

    The MVP program is run by Microsoft, under their rules, and with their discretion about who is awarded and who isn’t. I don’t feel they did anything wrong here as I don’t know what criteria they use or what information they had access to. I also know they have a limited budget and have to make decisions about who to award each year.

    The award is an indication that you are providing a lot of valuable contributions to the technical community about some Microsoft product. The amount that is a “lot” is some level decided by Microsoft. There are many people that provide very close to “a lot” of contributions to the community, but they don’t make the cut off. That’s just the way the program works.

    Think of the 100m dash in the Olympics. Only three people get to stand on the podium after the final heat. They are the people awarded a medal. Don’t think for a minute that the other five in that heat aren’t fast. They are some of the fastest humans on the planet. They just didn’t make the cutoff for the medal. They are still Olympians and worthy of fans’ praise for their efforts.

    The same thing goes for Kevin, Andy, and numerous others that didn’t get renewed. It also applies to even more numerous others that help me, you, and many people in their technical community every day.

    There are more individuals out there that act like MVPs than Microsoft can award each year. Remember that fact the next time you read a response to a question you posted. Remember that when you attend the next SQL Saturday or other conference and listen to a speaker that is donating their time to teach you something. Remember that when you read an article by someone at SQLServerCentral or elsewhere. There are lots of MVPs for the data platform out there. Only a few of them get to use the designation from Microsoft, but all are worth thanking.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • Evergreen SQL

    Colorado is a beautiful state, one that my family and I have enjoyed many times. We like the summer and winter outdoors, including lots of days skiing. We have plenty of trees on the slopes, which is both great to view and a series of obstacles to avoid. Fortunately, the pines and spruces keep their needles all year round and are easy to spot.

    Recently I caught a press release from Microsoft about the Azure SQL Server platform. It was written as support for SQL Server 2008 and R2 comes to an end. Microsoft certainly wants to pressure those customers to upgrade, as there are lots of them out there and this would be quite a bit of revenue. It’s been nearly a decade since R2 and over that for SQL Server 2008. There are a few options Microsoft has for you, though the move to an IaaS system in Azure with 3 years of support might be the only feasible one if you need support for some business reason.

    There are other options, and the post calls out some of these as evergreen SQL. Both the Managed Instance and Azure SQL Database are listed here, because there’s no need to patch or upgrade these platforms. Microsoft handles this for you, though that’s not necessarily as simple as you might expect. I don’t know how vendors will deal with Microsoft upgrading code, but certainly your in-house applications that might be built with workarounds for the various bugs that people stumble upon need to be prepared to change code if the bugs fix and behavior changes.

    I do like the idea of not needing to patch SQL Server and having the code improve and grow. I also like the idea of my code working and not breaking. While Microsoft has noted they don’t plan on removing functionality (deprecated just means there’s a better way you should use), what about the features that have bugs and the current behavior needs to change? That can be challenging for in-house development teams, but also a hassle for ISVs.

    Perhaps this will get ISVs to write code that handles patches and upgrades. Perhaps this means that we won’t get stuck on RTM or SP 1 of some old version of SQL Server because a vendor doesn’t want to test and certify their system on patched code. Perhaps it also means they’ll write the most basic, generic SQL that uses limited features and will work everywhere without them spending any resources verifying their code. I worry the latter more than the former will be the result of evergreen SQL Server.

    Do you want a version of SQL Server, as an instance, a database, or some hosted service that you never patch, but Microsoft does? I wonder how many of you look forward to evergreen SQL for your code.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.