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

Monoliths and Microservices

I have run into a lot of people in the last few years that love decoupled software and microservices. It seems many people are aiming to move their work in this direction, and while I see some appeal, I also see tremendous additional complexity that has moved out of the software into the operations and debugging space. As I read the book Observability Engineering, I found myself thinking the complexity of setting up more logging and instrumentation in an observability framework as well as the costs of managing a system start. That caused me to think this is overkill for most software.

To be clear, I don't think that Uber could have been built as a few monoliths, and there are other examples of such systems, but most of us don't work at that scale. There are lessons to be learned about large, real-time software systems, and certainly Google, Amazon, Spotify, Netflix, etc. can help us understand how certain techniques work better at scale, but most of us don't work at that scale.

Scale to me is thousands of connections and terabytes of data. Those companies tend to work at a couple orders of magnitude above that. Those are also companies that must have real time systems up to survive. The vast majority of companies I've worked at might suffer a loss with an outage of a system, but honestly, we could survive a day or two of recovery.

Heck, look at all of the companies that have had portions of their digital infrastructure knocked offline from ransomware the last few years. Some failed, but most didn't. The incident sucked for IT staff, but those companies survived. I still remember the SQL Slammer worm forcing us to take our entire network offline for multiple days at a large software company. We still ran sales, and support, and other systems independently or from paper. Granted that was 20 years ago, but I'm sure Redgate and many other organizations could survive a few weeks with no network.

Uber on the other hand, that would be a disaster for them. They would likely survive, but at a high cost. How many people would jump to a new service and never look back?

I was reading a piece on coupling and complexity, which I'll discuss a bit in another article, but it got my thinking of how often I see people overcomplicating their work by trying to move to a decoupled world instead of hiring and training people to adopt better architectures and communicate better. After all, moving to microservices isn't going to avoid the training issue. You'll still have to teach people more.

And while you're at it, force every developer to pass a SQL test every year. That might help you build better systems as well. SQL isn't going away and better SQL coding in will result in much better applications everywhere.

Steve Jones - SSC Editor

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

 
  Featured Contents
SQLServerCentral Article

Dynamic T-SQL Script Parameterization Using Python

omu from SQLServerCentral

Learn how dynamic SQL and sp_executeSQL can be used together from Python.

External Article

SQL Server JSON Functions JSON_OBJECTAGG and JSON_ARRAYAGG

Additional Articles from MSSQLTips.com

I need to construct JSON from data in our database, but I find the existing FOR JSON PATH limited when the data is not located in one single row but rather scattered over multiple rows. Is there another method on how to handle JSON data in SQL Server? Learn how to use the new SQL Server JSON Functions JSON_OBJECTAGG and JSON_ARRAYAGG in this article.

Blog Post

From the SQL Server Central Blogs - Real-Time Intelligence in Microsoft Fabric

James Serra from James Serra's Blog

In today’s data-driven world, organizations need the ability to analyze and act on data as it flows in real time. Microsoft Fabric provides a powerful ecosystem for real-time intelligence,...

Blog Post

From the SQL Server Central Blogs - TSQL Tuesday #184: Mentoring and Sponsorship

hellosqlkitty from SQLKitty

Thank you to Deborah Melkin for hosting TSQL Tuesday this month! I’ve always considered mentoring and sponsorship very structured. Now, I wonder if they’re also small things we do...

Microsoft Power BI Quickstart Guide cover

Microsoft Power BI Quick Start Guide: The ultimate beginner's guide to data modeling, visualization, digital storytelling, and more, 3rd Edition

Site Owners from SQLServerCentral

Bring your data to life with this accessible yet fast-paced introduction to Power BI, now in color.

 

  Question of the Day

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

 

The Table Backup

I run this code in SQL Server 2022. What happens?
BACKUP TABLE beercount TO DISK = 'beercount.bak'
 

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)

Counting Bits IV

What do these two selects return?

SELECT BIT_COUNT (CAST (-1 as smallint)) , BIT_COUNT (CAST (-1 as bigint)) 

Answer: 16, 64

Explanation: The negatives for -1 contain all 1s for the size of the datatype. In this case, a small int has 16 bits and a bigint has 64. Ref: BIT_COUNT() - https://learn.microsoft.com/en-us/sql/t-sql/functions/bit-count-transact-sql?view=sql-server-ver16

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 2016 - Administration
Migrating MDS model individually using MDS UI - Hi All,   Is there a way i can create package for an individual model from MDS and then import to another sql server? I tried using MDSModelDeploy command, however it failed as below without much details   Creating a package for model My_Model MDSModelDeploy operation failed. Elapsed time: 00:00:00.9550522 Error: A database error has […]
SQL Server 2016 - Development and T-SQL
cte using POWER and Numbers table causes arithmetic overflow - could someone explain why my cte using a numbers table causes an overflow ? my "numbers" table is exactly that - only a single column of numbers, but there are 4096 rows, 4096 int numbers, and I can only think using a CTE like i have here causes all the rows to be retrieved... declare […]
SQL Server 2019 - Administration
Collation related issues - I have read that the collation at the instance level cannot be changed. I am guessing that statement is correct. I am thinking about uninstalling the instance and reinstalling it with the correct Collation but I thought I'd ask the experts 1st. This is the error I am seeing during our test deployment before we […]
SQL Server 2019 - Development
Search all databases on one server instance to find a specific view - When I log into my instance of SQL Server, there are many databases. I'm trying to find a specific view, but I don't know which database it is in. I have used Select * FROM  INFORMATION_SCHEMA.VIEWS but that is when I know the database name.  We have more than 20 databases in my instance. Is […]
ssrs body looks right , report doesnt seem able to resize - Hi, i have been looking on the web for an answer but am coming up short.   Im stumped Im using an image i broke out from a word doc after saving it as html.   Im using it as a background for my new report.  The report will actually be a letter to certain customers whose […]
how do you explain the cardinal sin of warehousing to the chiefs? - hi we have an army implementing a mfg erp migration to netsuite.  When they were in the sandbox,  their customer, ship to, bill to and product codes were "external" columns.  One or two might have been substrings of external columns but that was fine with me. When they went to their more qa like environment […]
SQL Azure - Development
getting started paas SSAS - hi our on prem STD implementation of SSAS currently occupies about 3.6 gig of space (projected to double in the next year or two) in the larger sales tabular model when/after processed and only a fraction of that in a smaller db that probably never should have been a cube. I think it was jeff […]
SQL Azure - Administration
Azure SQL database import permissions - What the required permissions are for "Database import" on an Azure SQL database   Trying to import a database or copy it from another Azure sql With database import, before you get to the selection of subscription ... Extension: SqlAzureExtension Content: DatabaseImportBlade Resourceid /subscriptions/1ec..... Error: 403
Analysis Services
The attribute key cannot be found when processing - Hi , Im Facing the Below Issue in Ananlytics. We have a Inventory Partition which is connected to WareHouse Dimension. Error Message: Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'T2_PieceInventory', Column: 'StorageID', Value: 'ERETURNS'; Table: 'T2_PieceInventory', Column: 'WarehouseLocation', Value: '3PL'. The attribute is 'Storage Location'. Errors in […]
Integration Services
Call Snowflake Stored Procedure using SSIS Execute SQL Task - Hi I am getting the below error when trying to call a Snowflake stored procedure in SSIS 2017 using Execute SQL Task. Any ideas on how to resolve it. I have confirmed the procedure works when calling from a Snowflake Worksheet. Error: 0xC002F210 at Execute SQL Task, Execute SQL Task: Executing the query "call procedure_name." […]
Resumes and Job Hunters
Job requires X years of SQL... How do you respond? - I can't even tell you how many jobs I've seen that require "X years of SQL experience".  How do you know when you're near what that would be? For me, that's a nonsense metric. In theory, at one job, I did 8 months of SQL stuff, when in reality, I did the same things over […]
SQL Server 2022 - Administration
Database restoration slowed down abnormally. - I'm running some restoration activity as part of a rehearsal to prepare for an actual SQL server upgrade from 2008 to 2022. We're planning to restore the backups taken on 2008 R2 database to SQL 2022. Our backups are stored in a storage shared between the old & new servers. We have completed this activity […]
Entra authentication Express version - I have a paleontological database, currently in SQL Server 2016, active since 2008 R2. People use it via an Access app and ODBC connection to the server. Our organization started using Active Directory right about the time I first created this system, so I enthusiastically embraced the concept of domain groups. Besides the basic departments, […]
SQL Server 2022 - Development
Inserting data into a column that is using Always Encrypted - Problem: I am trying to insert a a value into a column that has been encrypted using 'deterministic' encryption via a stored procedure. The stored Proc code is ALTER PROCEDURE [dbo].[InsertData] @ID INT, @Col1 nvarchar(20), @Col2 VARCHAR (8), @ExpiryDate DATE AS BEGIN SET NOCOUNT ON; DECLARE @PModel AS NVARCHAR (5), @FID AS NVARCHAR (4) ; […]
best tool for documenting your databases (more design decisions etc) - Any suggestions for a good tool for documenting a database and all the important objects in it? I'm trying to use Azure Data Tools, but not a huge fan. Maybe that's my best option, though?
 

 

RSS FeedTwitter

This email has been sent to [email protected]. To be removed from this list, please click here. If you have any problems leaving the list, please contact the [email protected]. 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.
[email protected]

 

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