Skip to content

Daniel Crawford's Data Blog

Tips for performant database designs

Menu
  • Home
  • Blog
  • Resources
  • About
  • Contact
Menu

Blog

Fabric – Easy Hub and Spoke Architecture

Posted on July 31, 2023June 18, 2024 by Daniel Crawford

If you have an existing hub and spoke architecture, moving your architecture to Fabric may not be as difficult as you might initially think. One of the coolest features in Fabric is shortcuts. Shortcuts allow you to access your data that is stored in delta format (in a data lake on ADLS, S3, or OneLake)…

Read more

Synapse Fundamentals for Tuning – Replicated Tables

Posted on January 20, 2023September 5, 2025 by Daniel Crawford

I covered some of the basics of table geometry in this post: Synapse Fundamentals for Performance Tuning – Distribution; however, it’s critical to dive deeper into the performance impact of having the correct table distribution defined.  Sometimes we think we have the correct distribution chosen for a table but are painfully mistaken as performance suffers.  Generally, that…

Read more

Synapse Fundamentals for Tuning – CPU Intensive Operations

Posted on December 9, 2022September 5, 2025 by Daniel Crawford

This performance consideration is not unique to Synapse but can be exasperated in Synapse due to the quantity of data that is being worked with.  The CPU intensive operations that I am referring to come in three different flavors. These topics all have one thing in common.  They are operations that could have been pushed…

Read more

Synapse Fundamentals for Tuning – Computed Columns

Posted on December 2, 2022June 18, 2024 by Daniel Crawford

So why are computed columns such a big performance consideration in Synapse Dedicated SQL Pools?  There are two main reasons: Many times, computed columns are just a variation of the data that was originally stored in the source system.  Instead of transforming the data as part of an ELT (Extract, Load, and Transform) process, a…

Read more

Synapse Fundamentals for Tuning – Nesting

Posted on November 23, 2022September 5, 2025 by Daniel Crawford

Calling stored procedures from other stored procedures or referencing a view within another view can introduce performance complexities that are difficult to troubleshoot.  I will breakdown views and stored proc nesting issues individually, but the same message applies to both.  Avoid heavily nested objects in Synapse if reliable performance is a priority.  Understandably, we like…

Read more

Synapse Fundamentals – Table Creation Made Easy

Posted on September 27, 2022September 5, 2025 by Daniel Crawford

One of the most common issues encountered with Azure Synapse Dedicated SQL Pools is the confusion of table creation.  The confusion stems from separating how a table is stored from where it is stored.  I have already talked a little bit about this in previous posts (regarding distribution and indexing) but I want to dedicate…

Read more

Synapse Fundamentals for Tuning – Partitioning

Posted on September 23, 2022September 5, 2025 by Daniel Crawford

Next on my list of top performance killers in Synapse Dedicated SQL Pools, is Partitioning.  Partitioning is too often overused in Synapse.  Let’s first talk about when you would use partitioning and then how to use it effectively. Partitioning should only be applied on a table with a very large number of records and even…

Read more

Synapse Fundamentals for Tuning – Indexes Part2

Posted on September 14, 2022September 28, 2022 by Daniel Crawford

Rowstore Index Health For SQL Server, rowstore index fragmentation is a critical indicator for performance.  In Synapse Dedicated SQL Pools, the same holds true but high fragmentation is generally less of a performance impact since tables are distributed.  This however doesn’t mean that clustered/non-clustered indexes and heaps don’t have to be rebuilt.  Due to the…

Read more

Synapse Fundamentals for Tuning – Indexes Part1

Posted on August 31, 2022September 5, 2025 by Daniel Crawford

If you have been around SQL Server for any length of time, you know by now that indexes are critical for performance.  In Synapse Dedicated SQL Pools, indexes play a lesser role in query tuning because they do not impact the DSQL plans but rather impact the SQL plans on each of the distributions for…

Read more

Synapse Fundamentals for Performance Tuning – Distribution

Posted on August 12, 2022September 5, 2025 by Daniel Crawford

If you are coming from a SQL Server world, what are the fundamental concepts in Synapse that are essential to building a performant Dedicated SQL Pool?  How does Synapse differ from regular SQL Server?  Let’s start with the most basic foundational principle of distribution.  You might hear the term “MPP” thrown around when we talk…

Read more

Posts pagination

  • 1
  • 2
  • Next

Categories

  • Architecture Patterns
  • Fabric
  • Performance Tuning
  • Synapse
  • Top 10 Performance Considerations

Archives

  • July 2023
  • January 2023
  • December 2022
  • November 2022
  • September 2022
  • August 2022

Recent Synapse Videos

In this video Bogdan joins Stijn to talk about Microsoft Fabric performance and what happens underneath the hood while processing a query! <br /><br />  <br /><br />Polaris white paper: https://www.vldb.org/pvldb/vol13/p3204-saborit.pdf <br /><br />  <br /><br />Bogdan Crivat - VP Synapse Analytics<br /><br />https://twitter.com/bogdanC_guid <br /><br />https://www.linkedin.com/in/bogdanc/ <br /><br />  <br /><br />Stijn Wynants - Senior Product Manager <br />https://www.linkedin.com/in/stijn-wynants-ba528660/ <br />https://sql-stijn.com/ <br />https://twitter.com/SQLStijn
Performance at Scale with Microsoft Fabric: Query Processing!
As part of our Fabric Espresso series, we're diving deep into the realm of Data Engineering and Data Science. Join us as our senior product managers - Estera Kot, Ted Vilutis, and Stijn Wynants discuss the crucial features of Microsoft Fabric that every data engineer should know about! <br /><br />From insights into data engineering within Microsoft Fabric to decision guides for copying data into Fabric, and shortcuts that point to other storage locations - we've got it all covered in this exciting new video. <br /><br />Check out these key resources for a deep dive: <br /><br />👉 Data Engineering in Microsoft Fabric: https://learn.microsoft.com/en-us/fabric/data-engineering/data-engineering-overview  <br /><br />👉 Decision Guide to Copy Data into Fabric: https://learn.microsoft.com/en-us/fabric/get-started/decision-guide-pipeline-dataflow-spark <br /><br />👉 Shortcuts to Other Storage Locations: https://learn.microsoft.com/en-us/fabric/onelake/onelake-shortcuts <br /><br />  <br /><br />Meet the Speakers: <br /><br />1️⃣ Stijn Wynants: Senior Product Manager at Microsoft <br /><br />LinkedIn: https://www.linkedin.com/in/stijn-wynants-ba528660/ <br /><br />Twitter: https://twitter.com/SQLStijn <br /><br />Blog: https://sql-stijn.com/ <br /><br />  <br /><br />2️⃣ Estera Kot: Senior Product Manager at Microsoft <br /><br />LinkedIn: https://www.linkedin.com/in/esterakot/ <br /><br />Twitter: https://twitter.com/estera_kot <br /><br />  <br /><br />3️⃣ Ted Vilutis: Senior Product Manager at Microsoft <br /><br />LinkedIn: https://www.linkedin.com/in/tedvilutis/ <br /><br />Twitter: https://twitter.com/tvilutis <br /><br />  <br /><br />Don't miss out on this opportunity to learn directly from the Microsoft Fabric Product Group Team and elevate your data engineering skills with Microsoft Fabric! 🚀
Top Microsoft Fabric Features that Every Data Engineer Should Know
Welcome to our Fabric Espresso series! In this video Ambika joins Stijn to talk about table clone in Warehouse within Microsoft Fabric. We will talk a bit more deep on what is a table clone, when and how to use a table clone.<br /><br />Clone table: https://learn.microsoft.com/fabric/data-warehouse/clone-table<br />Clone table using T-SQL: https://learn.microsoft.com/fabric/data-warehouse/tutorial-clone-table<br />CREATE TABLE AS CLONE OF: https://learn.microsoft.com/sql/t-sql/statements/create-table-as-clone-of-transact-sql?view=fabric<br /><br />Ambika Jagadish - Product Manager for Warehouse in Microsoft Fabric<br />www.linkedin.com/in/ambikajagadish
Fabric Espresso: Table clone in Warehouse within Microsoft Fabric
Welcome to the fourth video in our How To series for Real-Time Analytics in Microsoft Fabric!<br /><br />In this video, Guy Reginiano, a Product Manager for Synapse Real-Time Analytics in Microsoft Fabric, will show you how to get data from Azure Event Hubs into a Real-Time Analytics KQL database in Microsoft Fabric.<br /><br />00:07 Introduction<br />00:25 Basic definitions<br />01:12 Event Hubs ingestion demo<br />06:34 Interact with the ingested data using KQL<br />07:54 Create a Cloud Connection in Fabric<br />10:24 Wrap-Up<br /><br />#microsoftfabric #synapserealtimeanalytics
Synapse Real-Time Analytics: Stream data from Event Hubs into a KQL database for powerful analytics
Welcome to our Fabric Espresso series! In this video Bogdan joins Stijn to talk about Microsoft Fabric and what place Azure Synapse has in all of this. We will talk a bit more deep on the engine that was created for Fabric Warehouse and how it compares to Dedicated SQL Pools!<br /><br />Polaris white paper: https://www.vldb.org/pvldb/vol13/p3204-saborit.pdf<br /><br />Bogdan Crivat - VP Synapse Analytics<br />https://twitter.com/bogdanC_guid<br />https://www.linkedin.com/in/bogdanc/<br /><br />Stijn Wynants - Senior Program Manager<br />https://www.linkedin.com/in/stijn-wynants-ba528660/<br />https://sql-stijn.com/<br />https://twitter.com/SQLStijn
Fabric Espresso: Will Fabric replace Azure Synapse?
Load More... Subscribe
This error message is only visible to WordPress admins

Cannot collect videos from this channel. Please make sure this is a valid channel ID.