Author: way0utwest

  • The Vast Expansions of Hardware

    At the Small Data conference recently, one of the talks looked at hardware advances. It was interesting to see a data perspective on hardware changes, as many of us only worry about the results of hardware: can I get my data quickly? In or out, most of us are more often worried about performance than specs. However, today I thought it might be fun to look at a few changes and numbers to get an idea of how our hardware has changed, in the march towards dealing with more and more data. Big data anyone?

    In thinking about disks, I saw a chart that looked at the changes from HDD (hard disk drives) to SDD (solid state drives) to NVMe (Nonvolatile Memory Express). These show read speeds going through the list from 80MB/S to 200MB/s to 5000+MB/s. That’s a dramatic change, and not one only in high-end arrays. There are off-the-shelf drives you can put in a desktop that read this fast. If you think about some of the early IBM drives, which read at 8800b/s. Growth in disk speed, inside the timeline of our careers, has grown by a few orders of magnitude in read speed.

    Write speed hasn’t grown as much but capacity has. My early career work used HDDs with a 100MB capacity. These days we can get TB range storage on all of these mediums, with many laptops having 0.5TB or more on them. Desktops often have plenty more. My current workstation at home has 3.5TB of storage. Contrast that to the early IBM drive linked above, which had 5MB. These days people regularly demo hundreds of TB, or even 1PB queries from a database.

    Many of us just expect the network to work well. In fact, I assume many of us won’t complain to network people since they are never at fault for performance issues. I started my career with Arcnet connections between machines. Those ran at 2.5Mb/s. We were moving those and 4Mbps Token ring to Ethernet at 10Mbps with Thicknet, Thinnet, and eventually RJ-45 connections. When we got 100Mpbs bridges, I thought we were cutting edge for our SQL Server Central servers. If we look back 20 years, 1Gbps was more the standard then, but today we see growth up into the 800Gbps with Infiniband. While I don’t know many data centers doing that, there are plenty running in the 50Gbps range.

    If we think about CPUs, I started my career on a 386 machine running at 25MHz. I helped upgrade some 286 machines, but most of our servers were 486 class machines at 25 MHz. I still remember being excited about the early Pentium processors for a large system. There were many Pentium variants and later families of processors, but back in the 2000s, almost all machines were single-core. The first multi-core chips were released and slowly became more common over time. These days, many new laptops have multiple cores, including the new on I got, which has 12 cores. If you want, you can purchase an AMD Epyc 9004 processor with 96 cores. That’s on one chip. Since most servers can take more than one CPU, you can have hundreds of cores running if you want. If you want to get really crazy. the Nvidia Blackwell has thousands of cores for their GPU-based AI calculations.

    Memory has likewise grown, though it seems most servers are much less than a TB of RAM, which is a much lower growth over time than storage and networking. Maybe because of those two changes, memory has had less of a reason to grow into common multi-TB-sized capacities in our systems. In fact, for you reading this, what are the common memory sizes you have in servers? I see many VMs and other machines set up with somewhere between 128GB and 1TB for memory, even as their data sizes have grown much, much larger. However, there are plenty that don’t have anything near 128GB.

    That was one of the interesting things I realized about the Small Data conference, and one reason the event was created. Most of our data sets, especially usable sets, and most of our queries can run on a laptop if not a mobile device. The focus on big data seems overblown, especially as most of our companies don’t have anything approaching 100TB, much less 1PB. If you need it, there is hardware out there for you, but some of the amazing advances made over time are lost on me as the common, average capabilities out there on the majority of systems could handle the majority of my needs.

    With some well-written queries.

    Steve Jones

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

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

  • A New Word: Hickering

    hickering – n.  the habit of falling hard for whatever pretty new acquaintance happens to come along, spending hours wallowing in the handful of details you can gather about them, connecting the dots into elaborate constellations, even imaging an entire future together – images that have no particular purpose, except that they’re kind fun to think about.

    This sounds like a teenage love story habit, which I see from kids I coach, or from my kids in the past.

    I’m not often enamored with new friends, and can be a bit wary or distant. I certainly get that from my parents, who were a little hesitant to add new friends. I do make new friends, and I find people very interesting in new ways, but I rarely feel hickering where I try to learn more about them.

    I tend to flow in life and enjoy the interactions without looking to make them more or less important than there are in the moment.

    From the Dictionary of Obscure Sorrows

  • 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.