Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
The Voice of the DBA
 

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 - SSC Editor

Join the debate, and respond to today's editorial on the forums

 
 Featured Contents
SQLServerCentral Article

Outer Join – What am I missing (SQL Spackle)

Patrick Cahill from SQLServerCentral.com

This article shows how to find missing rows in a table using a outer join.

External Article

Uncover SQL Server Missing Indexes

Additional Articles from MSSQLTips.com

In this article, we look at a SQL Server Dynamic Management View (DMV) that helps find queries that trigger missing index recommendations.

Technical Article

PASS Summit Livestream and on-demand

Press Release from PASS

Unable to travel to Seattle this November? We have options for you to join in from the comfort of your own home or office, with a free livestream and on-demand access available to buy.

Blog Post

From the SQL Server Central Blogs - Snowflake + Azure blob

BLOB EATER from All About SQL

Let’s go back to data platforms today and I want to talk about a very common integration I see nowadays, Azure Blob Storage linked to Snowflake via a storage...

Blog Post

From the SQL Server Central Blogs - Enabling an Index: #SQLNewBlogger

Steve Jones - SSC Editor from The Voice of the DBA

I don’t do a lot of work with disabled index, but I learned how to re-enable one today, which was a surprise to me. This short post covers how...

The Unicorn Project

Site Owners from SQLServerCentral

In The Unicorn Project, we follow Maxine, a senior lead developer and architect, as she is exiled to the Phoenix Project, to the horror of her friends and colleagues, as punishment for contributing to a payroll outage. She tries to survive in what feels like a heartless and uncaring bureaucracy and to work within a system where no one can get anything done without endless committees, paperwork, and approvals.

 

 Question of the Day

Today's question (by Steve Jones - SSC Editor):

 

Code Blocks

What happens with this code:
DECLARE @Iteration INT = 0;

WHILE @Iteration < 10
    SELECT CustomerName,
        CustomerStatus
    FROM dbo.Customer
    WHERE CustomerID > 3;

    SET @Iteration += 1;

Think you know the answer? Click here, and find out if you are right.

 

 

 Yesterday's Question of the Day (by Steve Jones - SSC Editor)

Crazy Code I

I have this data in my Customer table:

CustomerID CustomerName
1          Steve
2          Andy
3          Brian
4          Allen
5          Devin

I run this code:

SELECT
  t.CustomerID
, c.value
FROM
  ( SELECT
      CustomerID
    , STRING_AGG (CustomerName, ',') AS me
    FROM customer
    GROUP BY CustomerID) t
  CROSS APPLY STRING_SPLIT(me, ',') c;

What is returned?

Answer: A result set that looks like the original table

Explanation: The string_agg() function will combine the names into a list separated by commas. String_split splits this back out, so the final result looks like the original table. Ref:

Discuss this question and answer on the forums

 

 

 

Database Pros Who Need Your Help

Here's a few of the new posts today on the forums. To see more, visit the forums.


SQL Server 2017 - Administration
Log Backup failed on Secondary Replica - I have a scenario where log backup is getting failed in Secondary replica on AlwaysOn availability group due to below error: "Log Backup for database  on a secondary replica failed because a synchronization point could not be established on the primary database. Either locks could not be acquired on the primary database or the database […]
SQL Server 2016 - Development and T-SQL
Something Odd About CAST/TRY_CAST - I've got some code that is supposed to generate a unique key by prefixing an integer with a single character. It's been working fine, but now the integer input is longer than I want for the final column and the result isn't what I expected at all. Both the columns in the result below yield […]
sqlclient data provider .net provider connection - I have a task to check the connection managers as part of ssis integration project, now the package should be running on a different server. I see a connection manager with .net providers/sqlclient data provider, server as "CCSQL", sql server authentication and service account as "SA". The server name is CCSQL and in the new […]
SQL Server 2019 - Administration
Wrong frames in blocked process report - Hi all, I'm on a sql server 2019 standard edition (15.0.4375.4) where I've a XE session configured to capture blocked process events. All works fine (it's the very same configuration I have an many other clients) except that on this instance sometimes I get blocked-process-report where the blocker have a stack trace that ends with […]
SQL Server 2019 - Development
best choice for index when creating a composite key - hi everyone I am planning on adding a composite key for my tables.  I have SPs that are writing to the tables so having the least impact on run time is ideal.  What type of index should I be using? Thank you
Best Approach to cutover from Test to Live with new columns and tables added - We have a Production/Live version with up-to-date data and a Test version with older data where we have added new columns to tables and created new tables. Now, we need to add these new columns to the existing Prod tables and add the new tables we created to the Prod environment. What's the best approach […]
SQL Azure - Administration
How - Hi, wondering if someone can help me. We're trying to build an application that uses Azure SQL with a serverless DB instance. We're using a database scoped credential to ingest CSV data from azure blob - this all seems relatively straight forward and supported. Authentication is mixed, both the SQL super user and EntraID super […]
Reporting Services
SRSS Failed Setup " The System cannot find the file specified (0x80070002) - Dear All,   I am facing issue when update my license SRSS 2022 from evaluation to Standard Edition It showing error " The system cannot find the file specified (0x80070002) When i tried the license in my other environment its not taking any issue when upgrading from evaluation to Standard edition the issue only happen […]
General
Limb Lengthening Surgery Cost in India - Limb lengthening surgery in India is a specialized orthopedic procedure aimed at increasing the length of bones in the arms or legs. Known for its advanced medical technology and skilled surgeons, India offers this surgery at a more affordable cost compared to many other countries. Many international patients choose India for high-quality treatment at competitive […]
SQL Server 2005 Integration Services
Git Repo(s) for SQL Server Database, SSIS, SSAS, SSRS, PowerBI - Hey all, Just wondering how do you guys / girls set up git repo(s) for those things mentioned in the title esp. for those which use Azure DevOps (and has CI/CD set up). Do you set up only one repo in a project in Azure DevOps, and within that repo, the objects are placed in […]
General
Average Height For A Man In India - The average height for a man in India is approximately 5 feet 5 inches (165 cm). This measurement can vary slightly depending on factors such as region, genetics, and nutrition. Over time, improvements in healthcare and nutrition have contributed to a gradual increase in the average height of Indian men. However, compared to global averages, […]
SQL Server 2022 - Administration
Table Partitioning SQL server 2022 - Hi All, I am currently testing the Table Partitioning to implement in SQL server 2022. We have daily data coming to staging table that needs to be loaded to main table. The data load is currently by agent job runs every 6 hours. Lets say we have to load data daily 3 to 6 times […]
What is a Tail-Log Backup failure? - I've got a small SQL Server 2022 Developer Edition database on my laptop. It has three tables, the one with the most data in it has about 15 rows. So, this database is small. I have it in a C:\Databases folder on my laptop. I wanted to copy it over to my desktop and put […]
restore a cdc db from 2016 - I'm backing up a SQL 2016 db and copying it to SQL Server 2022.  During the restore, I get a bunch of permission messages. RESTORE DATABASE [mydb] FROM DISK = N'e:\sqlbackups\mydb.bak' WITH FILE = 1, keep_cdc, NOUNLOAD, REPLACE, STATS = 5 At the end of the restore,  it goes through upgrading schema, then I get […]
Log backup does not contain checksum - when I told SQL to include it? - I'm using Ola's backup script to back up my databases. One database has recently started throwing an error during the verify portion of the restore - complaining that the backup does not contain a checksum - even though I told SQL to include one. Here is the output from Ola's script:   Command: BACKUP LOG […]
 

 

RSS FeedTwitter

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.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -