Azure Synapse for C# Developers: 5 things you need to know
One of the biggest challenges of digital transformation is the ability for organizations to adopt emerging technology. It could be the best platform in the world but if you need to down tools for 6 months to get up to speed with new languages then you could be dead in the water before you even start.
So I wouldn't blame you if you are sat there listening to all the Azure Synapse hype and thinking, "yeah, maybe another day...".
But while I have you, let me quickly highlight some .NET/C# goodies in Azure Synapse Analytics that you might not know about.
1. SQL + .NET
If you're a C# dev then the chances are you have written an application that talks to a SQL Server database. I expect you've written new SqlConnection(connectionString)
more times than you can remember.
This is good, because that's exactly what you need to do to start integrating Synapse into your .NET applications. This applies to provisioned SQL Pools and also the new on-demand SQL capabilities.
2. SQL + SSMS
If you've done anything with SQL Server you have probably found yourself in SQL Server Management Studio (SSMS).
Did you know you can connect SSMS directly to Synapse and start querying the contents of your data lake as easily as you can query any SQL Server? In fact, you can use any client that can talk to SQL Server to talk to Synapse. Tip: try out SQL notebooks in Azure Data Studio.
Fingers crossed a pure SQL kernel will come to Synapse notebooks soon.
3. .NET + Spark
If you want to perform more complex processing such as training ML models over petabytes of data then you are likely to need Spark. Synapse comes pre-initialized with .NET for Apache Spark which means you can do this with 100% .NET code - no need to learn Python or Scala.
You simply write your .NET Spark applications in VS Code or Visual Studio and have them run as jobs in Synapse. To get started, checkout these batch processing, structured streaming and ML sentiment analysis examples.
4. .NET (C#) + Notebooks
Synapse notebooks comes pre-installed with a .NET kernel courtesy of .NET Interactive which along with .NET for Spark means you can explore and document your experiments all from within Synapse Studio.
I'm a huge fan of notebooks so definitely give this a try. We've recently conducted a series of Synapse SQL Serverless benchmarks all conducted via .NET notebooks, I'll share the results of these in a separate post.
5. Cosmos DB + Synapse
If you are using Cosmos DB, you can enable Synapse Link and start querying your application data using any of the options I've already mentioned. And while you are at it, why not join your Cosmos DB data over files in your data lake or with data from any other Synapse Link enabled Cosmos DB account!
It's never been a better time to be a .NET developer.
Want to get started with Synapse but not sure where to start?
If you'd like to know more about Azure Synapse, we offer a free 1 hour, 1-2-1 Azure Data Strategy Briefing. Please book a call and then we'll confirm the time and send you a meeting invite.
We also have created number of talks about Azure Synapse:
- Serverless data prep using SQL on demand and Synapse Pipelines
- Azure Synapse - On-Demand Serverless Compute and Querying
- Detecting Anomalies in IoT Telemetry with Azure Synapse Analytics
- Custom C# Spark Jobs in Azure Synapse
- Custom Scala Spark Jobs in Azure Synapse
Finally, if you are interested in more content about Azure Synapse, we have a dedicated editions page which collates all our blog posts.