{"id":4704,"date":"2025-08-21T10:46:33","date_gmt":"2025-08-21T10:46:33","guid":{"rendered":"https:\/\/uplatz.com\/blog\/?p=4704"},"modified":"2025-08-30T11:45:09","modified_gmt":"2025-08-30T11:45:09","slug":"azure-synapse-pocket-book","status":"publish","type":"post","link":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/","title":{"rendered":"Azure Synapse Pocket Book"},"content":{"rendered":"<p><!-- ############################################################ --><br \/>\n<!-- Azure Synapse Pocket Book \u2014 Uplatz (Single Column, ~55 Cards) --><\/p>\n<div style=\"margin: 16px 0;\">\n<style>\n  \/* Scope *\/<br \/>\n  .wp-azsyn-pb{font-family:Arial,Helvetica,sans-serif;max-width:980px;margin:0 auto;}<\/p>\n<p>  \/* Gradient header (balanced typography) *\/<br \/>\n  .wp-azsyn-pb .heading{<br \/>\n    background:linear-gradient(135deg,#6366f1,#06b6d4);<br \/>\n    color:#ffffff;padding:22px;border-radius:18px;text-align:center;<br \/>\n    margin-bottom:26px;box-shadow:0 10px 24px rgba(0,0,0,.10);border:1px solid rgba(255,255,255,.22)<br \/>\n  }<br \/>\n  .wp-azsyn-pb .heading h2{margin:0;font-size:1.82rem;font-weight:800;letter-spacing:.2px;line-height:1.15}<br \/>\n  .wp-azsyn-pb .heading p{margin:8px 0 0;font-size:.96rem;opacity:.95}<\/p>\n<p>  \/* Section titles *\/<br \/>\n  .wp-azsyn-pb .section-title{<br \/>\n    margin:26px 0 14px;padding:12px 16px;background:#f8fafc;border-left:8px solid #2563eb;<br \/>\n    border-radius:12px;font-weight:800;color:#0f172a;font-size:1.02rem;<br \/>\n    box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid #e2e8f0<br \/>\n  }<br \/>\n  \/* Colored first section (per request) *\/<br \/>\n  .wp-azsyn-pb .section-title.color-primary{<br \/>\n    background:linear-gradient(135deg,#e9d5ff,#cffafe); \/* violet -> cyan *\/<br \/>\n    border-left-color:#7c3aed;color:#0f172a<br \/>\n  }<\/p>\n<p>  \/* Cards (single column) *\/<br \/>\n  .wp-azsyn-pb .card{<br \/>\n    background:#fff;border-left:6px solid #2563eb;padding:16px;border-radius:14px;<br \/>\n    box-shadow:0 6px 14px rgba(0,0,0,.06);border:1px solid #e5e7eb;margin-bottom:16px;<br \/>\n    transition:transform .12s ease,box-shadow .12s ease<br \/>\n  }<br \/>\n  .wp-azsyn-pb .card:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(0,0,0,.08)}<br \/>\n  .wp-azsyn-pb .card h3{margin:0 0 10px;font-size:1.08rem;color:#0f172a}<br \/>\n  .wp-azsyn-pb .card p{margin:0;font-size:.96rem;color:#334155;line-height:1.62}<\/p>\n<p>  \/* Color helpers *\/<br \/>\n  .bg-blue{border-left-color:#2563eb;background:#f0f9ff}<br \/>\n  .bg-green{border-left-color:#16a34a;background:#f0fdf4}<br \/>\n  .bg-amber{border-left-color:#f59e0b;background:#fffbeb}<br \/>\n  .bg-violet{border-left-color:#7c3aed;background:#f5f3ff}<br \/>\n  .bg-rose{border-left-color:#e11d48;background:#fff1f2}<br \/>\n  .bg-cyan{border-left-color:#0891b2;background:#ecfeff}<br \/>\n  .bg-indigo{border-left-color:#4f46e5;background:#eef2ff}<br \/>\n  .bg-emerald{border-left-color:#059669;background:#ecfdf5}<br \/>\n  .bg-slate{border-left-color:#334155;background:#f8fafc}<\/p>\n<p>  \/* Mono + code *\/<br \/>\n  .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}<br \/>\n  .wp-azsyn-pb code{background:#f1f5f9;padding:0 4px;border-radius:4px;border:1px solid #e2e8f0}<br \/>\n  .wp-azsyn-pb pre{background:#f5f5f5;color:#111827;border:1px solid #e5e7eb;padding:12px;border-radius:10px;overflow:auto;font-size:.92rem;line-height:1.55}<\/p>\n<p>  .muted{color:#64748b}<br \/>\n  .tight ul{margin:0;padding-left:18px}<br \/>\n  .tight li{margin:4px 0}<br \/>\n  .q{font-weight:700}<br \/>\n<\/style>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-5059\" src=\"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse-1024x576.jpg\" alt=\"\" width=\"840\" height=\"473\" srcset=\"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse-1024x576.jpg 1024w, https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse-300x169.jpg 300w, https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse-768x432.jpg 768w, https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse.jpg 1280w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/p>\n<div class=\"wp-azsyn-pb\">\n<div class=\"heading\">\n<h2>Azure Synapse Pocket Book \u2014 Uplatz<\/h2>\n<p>55+ deep-dive flashcards \u2022 Single column \u2022 SQL (Dedicated &amp; Serverless) \u2022 Spark &amp; Data Lake \u2022 Pipelines &amp; Orchestration \u2022 Security \u2022 Performance \u2022 Interview Q&amp;A<\/p>\n<p class=\"muted\">Cheat-friendly explanations \u2022 Readable T-SQL\/Spark snippets \u2022 Production-oriented tips<\/p>\n<\/div>\n<p><!-- ===================== SECTION 1 ===================== --><\/p>\n<div class=\"section-title color-primary\">Section 1 \u2014 Fundamentals<\/div>\n<div class=\"card bg-blue\">\n<h3>1) What is Azure Synapse Analytics?<\/h3>\n<p>Unified analytics: data integration, big-data (Spark), SQL analytics (serverless &amp; dedicated pools), and a studio experience. Think \u201clakehouse + warehouse + pipelines\u201d.<\/p>\n<\/div>\n<div class=\"card bg-green\">\n<h3>2) Core Building Blocks<\/h3>\n<p><b>Workspace<\/b> (control plane), <b>Linked Services<\/b> (connections), <b>Integration Runtimes<\/b> (compute for pipelines), <b>SQL pools<\/b> (serverless\/dedicated), <b>Spark pools<\/b>, <b>Data Explorer<\/b> (optional for logs\/timeseries).<\/p>\n<\/div>\n<div class=\"card bg-amber\">\n<h3>3) Serverless vs Dedicated SQL<\/h3>\n<p><b>Serverless<\/b> = query files in ADLS, pay per TB processed, zero management. <b>Dedicated<\/b> = MPP warehouse with predictable performance and cost (DWU).<\/p>\n<\/div>\n<div class=\"card bg-violet\">\n<h3>4) Spark in Synapse<\/h3>\n<p>Managed Spark pools for notebooks\/jobs; Delta Lake support; integrates with lake databases and serverless external tables.<\/p>\n<\/div>\n<div class=\"card bg-rose\">\n<h3>5) Data Lake (ADLS Gen2)<\/h3>\n<p>Synapse relies on ADLS Gen2 for storage. Organize zones (raw\/curated\/gold), enforce ACLs, and use Parquet\/Delta for analytics.<\/p>\n<\/div>\n<div class=\"card bg-cyan\">\n<h3>6) Synapse Studio<\/h3>\n<p>Web UI with hubs: Data, Develop (notebooks\/SQL scripts), Integrate (pipelines), Monitor, Manage. Great for end-to-end ops.<\/p>\n<\/div>\n<div class=\"card bg-indigo\">\n<h3>7) Typical Flow<\/h3>\n<p>Ingest \u2192 land in lake \u2192 transform (Spark\/SQL) \u2192 warehouse tables \u2192 serve via Power BI\/serverless endpoints \u2192 orchestrate with pipelines.<\/p>\n<\/div>\n<div class=\"card bg-emerald\">\n<h3>8) Cost Model<\/h3>\n<p>Serverless charges per TB scanned; dedicated charges per provisioned DWU; Spark charges per node\/hour. Save with partition pruning, caching, pausing pools.<\/p>\n<\/div>\n<div class=\"card bg-slate\">\n<h3>9) When to Use Synapse?<\/h3>\n<p>If you need unified lake\/warehouse, governed pipelines, Spark+SQL side-by-side, and enterprise security with private networking.<\/p>\n<\/div>\n<div class=\"card bg-blue\">\n<h3>10) Quick CLI Setup<\/h3>\n<pre><code class=\"mono\"># Create dedicated SQL pool (example)\r\naz synapse sql pool create --name dw --performance-level \"DW200c\" -g rg -w syn-ws<\/code><\/pre>\n<\/div>\n<p><!-- ===================== SECTION 2 ===================== --><\/p>\n<div class=\"section-title\">Section 2 \u2014 Storage &amp; Ingestion<\/div>\n<div class=\"card bg-green\">\n<h3>11) External Tables (Serverless)<\/h3>\n<p>Map Parquet\/CSV in ADLS to SQL tables for BI and ad-hoc queries.<\/p>\n<pre><code class=\"mono\">CREATE EXTERNAL DATA SOURCE ds WITH ( LOCATION = 'https:\/\/&lt;acct&gt;.dfs.core.windows.net\/lake' );\r\nCREATE EXTERNAL FILE FORMAT ParquetFmt WITH ( FORMAT_TYPE = PARQUET );\r\nCREATE EXTERNAL TABLE dbo.sales_ext\r\nWITH ( LOCATION = '\/curated\/sales\/', DATA_SOURCE = ds, FILE_FORMAT = ParquetFmt ) AS\r\nSELECT * FROM OPENROWSET( BULK '\/curated\/sales\/*.parquet', DATA_SOURCE = 'ds', FORMAT='PARQUET') AS rows;<\/code><\/pre>\n<\/div>\n<div class=\"card bg-amber\">\n<h3>12) OPENROWSET (Serverless)<\/h3>\n<p>Query files directly without external objects.<\/p>\n<pre><code class=\"mono\">SELECT TOP 10 * FROM OPENROWSET(\r\n  BULK 'https:\/\/&lt;acct&gt;.dfs.core.windows.net\/lake\/raw\/iot\/*.parquet',\r\n  FORMAT='PARQUET') AS r;<\/code><\/pre>\n<\/div>\n<div class=\"card bg-violet\">\n<h3>13) COPY INTO (Dedicated)<\/h3>\n<p>Fast load from ADLS\/Blob to dedicated tables, with parallelism and file patterns.<\/p>\n<pre><code class=\"mono\">COPY INTO dbo.FactSales\r\nFROM 'https:\/\/&lt;acct&gt;.dfs.core.windows.net\/lake\/curated\/sales\/'\r\nWITH ( FILE_TYPE='PARQUET', MAXERRORS=0 );<\/code><\/pre>\n<\/div>\n<div class=\"card bg-rose\">\n<h3>14) CTAS &amp; CETAS<\/h3>\n<p><b>CTAS<\/b> creates and loads a warehouse table efficiently. <b>CETAS<\/b> writes query results back to the lake (Parquet\/CSV).<\/p>\n<pre><code class=\"mono\">-- CTAS\r\nCREATE TABLE dbo.top_customers\r\nWITH (DISTRIBUTION = HASH(CustomerId), CLUSTERED COLUMNSTORE INDEX)\r\nAS SELECT ...;<\/code><\/pre>\n<\/div>\n<div class=\"card bg-cyan\">\n<h3>15) File Layout<\/h3>\n<p>Partition by date\/region; aim for 256MB\u20131GB Parquet files; avoid millions of tiny files\u2014compact with Spark.<\/p>\n<\/div>\n<div class=\"card bg-indigo\">\n<h3>16) Lake Databases<\/h3>\n<p>Define tables on top of files (Spark-managed); auto-exposed to serverless SQL for querying the same data.<\/p>\n<\/div>\n<div class=\"card bg-emerald\">\n<h3>17) Data Flows (Mapping)<\/h3>\n<p>Visual transformations that scale out on a Spark engine\u2014good for ELT into lake\/warehouse with schema mapping and surrogate keys.<\/p>\n<\/div>\n<div class=\"card bg-slate\">\n<h3>18) Ingestion Patterns<\/h3>\n<p>Landing zone \u2192 validate \u2192 curate. Choose event-based (Event Grid), micro-batch (ADF copy), or streaming (Spark Structured Streaming).<\/p>\n<\/div>\n<p><!-- ===================== SECTION 3 ===================== --><\/p>\n<div class=\"section-title\">Section 3 \u2014 SQL Analytics (Dedicated &amp; Serverless)<\/div>\n<div class=\"card bg-blue\">\n<h3>19) Table Types<\/h3>\n<p>Dedicated pool supports <b>heap<\/b>, <b>clustered<\/b>, <b>clustered columnstore<\/b> (default for facts). Columnstore = compression + analytics speed.<\/p>\n<\/div>\n<div class=\"card bg-green\">\n<h3>20) Distribution Styles<\/h3>\n<p>HASH(key) to co-locate joins; ROUND_ROBIN for staging; REPLICATE for small dimensions. Choose to minimize data movement.<\/p>\n<\/div>\n<div class=\"card bg-amber\">\n<h3>21) Statistics<\/h3>\n<p>Keep stats up-to-date for optimal plans.<\/p>\n<pre><code class=\"mono\">UPDATE STATISTICS dbo.FactSales WITH FULLSCAN;<\/code><\/pre>\n<\/div>\n<div class=\"card bg-violet\">\n<h3>22) Workload Management<\/h3>\n<p>Resource classes &amp; workload groups control concurrency and memory. Assign users to classes (smallrc\/mediumrc\/\u2026).<\/p>\n<pre><code class=\"mono\">EXEC sp_addrolemember 'mediumrc', 'bi_reader';<\/code><\/pre>\n<\/div>\n<div class=\"card bg-rose\">\n<h3>23) Partitioning<\/h3>\n<p>Range partition large fact tables by date; improves maintenance and sliding windows.<\/p>\n<\/div>\n<div class=\"card bg-cyan\">\n<h3>24) Materialized Views<\/h3>\n<p>Pre-compute aggregations\/joins; automatic rewrite accelerates queries.<\/p>\n<\/div>\n<div class=\"card bg-indigo\">\n<h3>25) PolyBase vs COPY INTO<\/h3>\n<p>Prefer <b>COPY INTO<\/b> for loads; PolyBase external tables for ongoing federation. Validate file formats and column types.<\/p>\n<\/div>\n<div class=\"card bg-emerald\">\n<h3>26) Temp vs Staging<\/h3>\n<p>Use staging tables (ROUND_ROBIN) for fast loads \u2192 transform to production tables (HASH\/REPLICATE) via CTAS.<\/p>\n<\/div>\n<div class=\"card bg-slate\">\n<h3>27) Serverless Tips<\/h3>\n<p>Use <code>OPENROWSET<\/code>, specify columns &amp; types, leverage partition folders in predicates (e.g., <code>WHERE folder = '2025\/08\/20'<\/code>) to prune IO.<\/p>\n<\/div>\n<div class=\"card bg-blue\">\n<h3>28) Caching &amp; Performance (Serverless)<\/h3>\n<p>Serverless caches file metadata and query results for a short time. Avoid <code>SELECT *<\/code>; project only columns needed; compress in Parquet.<\/p>\n<\/div>\n<div class=\"card bg-green\">\n<h3>29) Concurrency &amp; Queues (Dedicated)<\/h3>\n<p>High concurrency may queue requests. Use workload groups to isolate ETL vs BI and scale DWU during heavy windows.<\/p>\n<\/div>\n<div class=\"card bg-amber\">\n<h3>30) Query Perf Insight<\/h3>\n<p>Use built-in monitoring to find heavy queries, data skews, or data movement operations (DMS).<\/p>\n<\/div>\n<p><!-- ===================== SECTION 4 ===================== --><\/p>\n<div class=\"section-title\">Section 4 \u2014 Spark &amp; Lakehouse<\/div>\n<div class=\"card bg-violet\">\n<h3>31) Spark Pools<\/h3>\n<p>Configure node sizes, autoscale, and auto-pause. Use small dev pools and larger job pools. Pin runtime version for compat.<\/p>\n<\/div>\n<div class=\"card bg-rose\">\n<h3>32) PySpark Example<\/h3>\n<pre><code class=\"mono\">df = spark.read.parquet(\"abfss:\/\/lake@acct.dfs.core.windows.net\/raw\/sales\/\")\r\ndf.groupBy(\"country\").count().write.mode(\"overwrite\").parquet(\"...\/curated\/sales_by_country\/\")<\/code><\/pre>\n<\/div>\n<div class=\"card bg-cyan\">\n<h3>33) Delta Lake<\/h3>\n<p>ACID transactions, MERGE\/UPSERT, time travel, and auto-optimize. Use Delta for curated\/gold layers.<\/p>\n<pre><code class=\"mono\">from delta.tables import DeltaTable\r\nDeltaTable.forPath(spark, \"\/lake\/curated\/orders\").alias(\"t\") \\\r\n .merge(sourceDF.alias(\"s\"), \"t.id = s.id\") \\\r\n .whenMatchedUpdateAll() \\\r\n .whenNotMatchedInsertAll() \\\r\n .execute()<\/code><\/pre>\n<\/div>\n<div class=\"card bg-indigo\">\n<h3>34) Spark \u2194 Serverless SQL<\/h3>\n<p>Create <b>Lake databases<\/b> or use <code>CETAS<\/code> to write Parquet, then query with serverless (or external tables).<\/p>\n<\/div>\n<div class=\"card bg-emerald\">\n<h3>35) Optimize Small Files<\/h3>\n<p>Use <code>coalesce\/repartition<\/code> and <code>OPTIMIZE<\/code> (Delta) to compact. Target 256MB\u20131GB per file.<\/p>\n<\/div>\n<div class=\"card bg-slate\">\n<h3>36) UDFs &amp; Libraries<\/h3>\n<p>Attach wheel\/jar packages to Spark pools. Cache hot datasets with <code>df.cache()<\/code> for iterative notebooks.<\/p>\n<\/div>\n<div class=\"card bg-blue\">\n<h3>37) Structured Streaming<\/h3>\n<p>Process Kafka\/Event Hub streams; checkpoint to ADLS; write Delta sinks for exactly-once semantics.<\/p>\n<\/div>\n<div class=\"card bg-green\">\n<h3>38) ML in Synapse<\/h3>\n<p>Use Spark MLlib or integrate with Azure ML for tracking\/serving; keep features in Delta for online\/offline parity.<\/p>\n<\/div>\n<p><!-- ===================== SECTION 5 ===================== --><\/p>\n<div class=\"section-title\">Section 5 \u2014 Pipelines &amp; Orchestration<\/div>\n<div class=\"card bg-amber\">\n<h3>39) Integration Runtimes<\/h3>\n<p>AutoResolve IR for cloud; Self-hosted IR for on-prem\/private networks. Monitor IR health and throughput.<\/p>\n<\/div>\n<div class=\"card bg-violet\">\n<h3>40) Activities<\/h3>\n<p>Copy, Data Flow, Notebook, Spark job, Stored Procedure, Web, Lookups, ForEach, If, Wait\u2014compose end-to-end DAGs.<\/p>\n<\/div>\n<div class=\"card bg-rose\">\n<h3>41) Triggers<\/h3>\n<p>Schedule, tumbling window, event-based (blob created). Use watermarking for incremental ingestion.<\/p>\n<\/div>\n<div class=\"card bg-cyan\">\n<h3>42) Parameters &amp; Datasets<\/h3>\n<p>Parameterize file paths\/dates; pass outputs between activities; store secrets in Key Vault-backed linked services.<\/p>\n<\/div>\n<div class=\"card bg-indigo\">\n<h3>43) Copy Activity Perf<\/h3>\n<p>Use Binary\/Parquet formats, tuned DIUs, and parallel file patterns. Enable <b>staged copy<\/b> for cross-cloud or large moves.<\/p>\n<\/div>\n<div class=\"card bg-emerald\">\n<h3>44) CI\/CD for Pipelines<\/h3>\n<p>Use Synapse workspace deployment artifacts (ARM\/Bicep) or synapse-workspace-deployment action; separate dev\/test\/prod workspaces.<\/p>\n<\/div>\n<p><!-- ===================== SECTION 6 ===================== --><\/p>\n<div class=\"section-title\">Section 6 \u2014 Security &amp; Networking<\/div>\n<div class=\"card bg-slate\">\n<h3>45) RBAC vs ACLs<\/h3>\n<p>Azure RBAC secures workspace\/services; ADLS POSIX ACLs secure files\/folders. Both are needed in lakehouse designs.<\/p>\n<\/div>\n<div class=\"card bg-blue\">\n<h3>46) Managed Identity<\/h3>\n<p>Synapse uses workspace MSI for accessing storage, SQL, Key Vault; grant least-privilege roles (e.g., Storage Blob Data Contributor).<\/p>\n<\/div>\n<div class=\"card bg-green\">\n<h3>47) Private Endpoints<\/h3>\n<p>Lock down workspace, SQL pools, and storage with private endpoints; disable public network access for zero-trust.<\/p>\n<\/div>\n<div class=\"card bg-amber\">\n<h3>48) Row\/Column Security<\/h3>\n<p>Implement RLS\/CLS on dedicated pool for governed access; use views to mask sensitive fields.<\/p>\n<\/div>\n<div class=\"card bg-violet\">\n<h3>49) Auditing &amp; Defender<\/h3>\n<p>Enable auditing to Log Analytics\/Storage; use Defender for SQL alerts on anomalous activities.<\/p>\n<\/div>\n<div class=\"card bg-rose\">\n<h3>50) Credential Passthrough (Spark)<\/h3>\n<p>Use ACLs with AAD passthrough to enforce per-user lake permissions when running Spark.<\/p>\n<\/div>\n<div class=\"card bg-cyan\">\n<h3>51) Key Vault<\/h3>\n<p>Centralize secrets; reference in linked services; rotate regularly; avoid storing secrets in pipeline parameters.<\/p>\n<\/div>\n<p><!-- ===================== SECTION 7 ===================== --><\/p>\n<div class=\"section-title\">Section 7 \u2014 Monitoring, Cost &amp; Reliability<\/div>\n<div class=\"card bg-indigo\">\n<h3>52) Monitor Hub<\/h3>\n<p>Track pipeline runs, triggers, copy throughput, data flow metrics, Spark session details, and SQL queries.<\/p>\n<\/div>\n<div class=\"card bg-emerald\">\n<h3>53) Log Analytics + KQL<\/h3>\n<p>Send diagnostics to a workspace; build alerts for long-running jobs, failed copies, pool pause\/resume, and excessive scans.<\/p>\n<\/div>\n<div class=\"card bg-slate\">\n<h3>54) Cost Controls<\/h3>\n<p>Pause dedicated pools off-hours; increase DWU only during ETL; compact files to reduce serverless scans; cache hot datasets; avoid <code>SELECT *<\/code>.<\/p>\n<\/div>\n<div class=\"card bg-blue\">\n<h3>55) Reliability<\/h3>\n<p>Retries with exponential backoff in pipelines, idempotent loads (MERGE with Delta\/CTAS pattern), data quality checks before publish.<\/p>\n<\/div>\n<div class=\"card bg-green\">\n<h3>56) Troubleshooting Skew<\/h3>\n<p>Hash skew shows as long DMS waits; change distribution key or pre-shuffle; replicate small dimensions.<\/p>\n<\/div>\n<p><!-- ===================== SECTION 8 ===================== --><\/p>\n<div class=\"section-title\">Section 8 \u2014 Patterns &amp; Interview Q&amp;A<\/div>\n<div class=\"card bg-amber\">\n<h3>57) Pattern \u2014 Lakehouse<\/h3>\n<p>Land raw in Parquet\/Delta \u2192 curate with Spark \u2192 expose gold via serverless external tables for BI and ad-hoc SQL.<\/p>\n<\/div>\n<div class=\"card bg-violet\">\n<h3>58) Pattern \u2014 Warehouse ETL<\/h3>\n<p>Stage (ROUND_ROBIN) \u2192 transform via CTAS \u2192 load final HASH-distributed columnstore \u2192 add materialized views for hot aggregates.<\/p>\n<\/div>\n<div class=\"card bg-rose\">\n<h3>59) Interview \u2014 When serverless?<\/h3>\n<p><span class=\"q\">Answer:<\/span> Ad-hoc exploration, lightweight BI on the lake, or low-duty dashboards\u2014pay per TB scanned, no pool to manage.<\/p>\n<\/div>\n<div class=\"card bg-cyan\">\n<h3>60) Interview \u2014 Distribution key choice?<\/h3>\n<p><span class=\"q\">Answer:<\/span> Pick a high-cardinality key used in big joins; avoid skewed keys; consider REPLICATE for small tables.<\/p>\n<\/div>\n<div class=\"card bg-indigo\">\n<h3>61) Interview \u2014 Speed up COPY INTO?<\/h3>\n<p><span class=\"q\">Answer:<\/span> Parquet source, balanced file sizes, increase parallelism, disable constraints during load, use staging &amp; CTAS.<\/p>\n<\/div>\n<div class=\"card bg-emerald\">\n<h3>62) Interview \u2014 Reduce serverless cost?<\/h3>\n<p><span class=\"q\">Answer:<\/span> Partition folders with predicates, Parquet\/Delta (columnar), select columns, compact small files, and cache results.<\/p>\n<\/div>\n<div class=\"card bg-slate\">\n<h3>63) Production Checklist<\/h3>\n<p>Private endpoints, MSI + least privilege, DWU schedule + pause, data contracts &amp; quality checks, lineage, CI\/CD, monitoring &amp; alerts, runbooks &amp; DR.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Azure Synapse Pocket Book \u2014 Uplatz 55+ deep-dive flashcards \u2022 Single column \u2022 SQL (Dedicated &amp; Serverless) \u2022 Spark &amp; Data Lake \u2022 Pipelines &amp; Orchestration \u2022 Security \u2022 Performance <span class=\"readmore\"><a href=\"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/\">Read More &#8230;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2536,2462],"tags":[],"class_list":["post-4704","post","type-post","status-publish","format-standard","hentry","category-azure-synapse","category-pocket-book"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Azure Synapse Pocket Book | Uplatz Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure Synapse Pocket Book | Uplatz Blog\" \/>\n<meta property=\"og:description\" content=\"Azure Synapse Pocket Book \u2014 Uplatz 55+ deep-dive flashcards \u2022 Single column \u2022 SQL (Dedicated &amp; Serverless) \u2022 Spark &amp; Data Lake \u2022 Pipelines &amp; Orchestration \u2022 Security \u2022 Performance Read More ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/\" \/>\n<meta property=\"og:site_name\" content=\"Uplatz Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Uplatz-1077816825610769\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-21T10:46:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-30T11:45:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"uplatzblog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@uplatz_global\" \/>\n<meta name=\"twitter:site\" content=\"@uplatz_global\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"uplatzblog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/\"},\"author\":{\"name\":\"uplatzblog\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/person\\\/8ecae69a21d0757bdb2f776e67d2645e\"},\"headline\":\"Azure Synapse Pocket Book\",\"datePublished\":\"2025-08-21T10:46:33+00:00\",\"dateModified\":\"2025-08-30T11:45:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/\"},\"wordCount\":1221,\"publisher\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Azure-Synapse-1024x576.jpg\",\"articleSection\":[\"Azure Synapse\",\"Pocket Book\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/\",\"name\":\"Azure Synapse Pocket Book | Uplatz Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Azure-Synapse-1024x576.jpg\",\"datePublished\":\"2025-08-21T10:46:33+00:00\",\"dateModified\":\"2025-08-30T11:45:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/#primaryimage\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Azure-Synapse.jpg\",\"contentUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Azure-Synapse.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/azure-synapse-pocket-book\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure Synapse Pocket Book\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/\",\"name\":\"Uplatz Blog\",\"description\":\"Uplatz is a global IT Training &amp; Consulting company\",\"publisher\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#organization\",\"name\":\"uplatz.com\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/Uplatz-Logo-Copy-2.png\",\"contentUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/Uplatz-Logo-Copy-2.png\",\"width\":1280,\"height\":800,\"caption\":\"uplatz.com\"},\"image\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Uplatz-1077816825610769\\\/\",\"https:\\\/\\\/x.com\\\/uplatz_global\",\"https:\\\/\\\/www.instagram.com\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/7956715?trk=tyah&amp;amp;amp;amp;trkInfo=clickedVertical:company,clickedEntityId:7956715,idx:1-1-1,tarId:1464353969447,tas:uplatz\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/person\\\/8ecae69a21d0757bdb2f776e67d2645e\",\"name\":\"uplatzblog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g\",\"caption\":\"uplatzblog\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Azure Synapse Pocket Book | Uplatz Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/","og_locale":"en_US","og_type":"article","og_title":"Azure Synapse Pocket Book | Uplatz Blog","og_description":"Azure Synapse Pocket Book \u2014 Uplatz 55+ deep-dive flashcards \u2022 Single column \u2022 SQL (Dedicated &amp; Serverless) \u2022 Spark &amp; Data Lake \u2022 Pipelines &amp; Orchestration \u2022 Security \u2022 Performance Read More ...","og_url":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/","og_site_name":"Uplatz Blog","article_publisher":"https:\/\/www.facebook.com\/Uplatz-1077816825610769\/","article_published_time":"2025-08-21T10:46:33+00:00","article_modified_time":"2025-08-30T11:45:09+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse.jpg","type":"image\/jpeg"}],"author":"uplatzblog","twitter_card":"summary_large_image","twitter_creator":"@uplatz_global","twitter_site":"@uplatz_global","twitter_misc":{"Written by":"uplatzblog","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/#article","isPartOf":{"@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/"},"author":{"name":"uplatzblog","@id":"https:\/\/uplatz.com\/blog\/#\/schema\/person\/8ecae69a21d0757bdb2f776e67d2645e"},"headline":"Azure Synapse Pocket Book","datePublished":"2025-08-21T10:46:33+00:00","dateModified":"2025-08-30T11:45:09+00:00","mainEntityOfPage":{"@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/"},"wordCount":1221,"publisher":{"@id":"https:\/\/uplatz.com\/blog\/#organization"},"image":{"@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/#primaryimage"},"thumbnailUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse-1024x576.jpg","articleSection":["Azure Synapse","Pocket Book"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/","url":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/","name":"Azure Synapse Pocket Book | Uplatz Blog","isPartOf":{"@id":"https:\/\/uplatz.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/#primaryimage"},"image":{"@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/#primaryimage"},"thumbnailUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse-1024x576.jpg","datePublished":"2025-08-21T10:46:33+00:00","dateModified":"2025-08-30T11:45:09+00:00","breadcrumb":{"@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/#primaryimage","url":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse.jpg","contentUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/Azure-Synapse.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/uplatz.com\/blog\/azure-synapse-pocket-book\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/uplatz.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Azure Synapse Pocket Book"}]},{"@type":"WebSite","@id":"https:\/\/uplatz.com\/blog\/#website","url":"https:\/\/uplatz.com\/blog\/","name":"Uplatz Blog","description":"Uplatz is a global IT Training &amp; Consulting company","publisher":{"@id":"https:\/\/uplatz.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/uplatz.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/uplatz.com\/blog\/#organization","name":"uplatz.com","url":"https:\/\/uplatz.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/uplatz.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2016\/11\/Uplatz-Logo-Copy-2.png","contentUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2016\/11\/Uplatz-Logo-Copy-2.png","width":1280,"height":800,"caption":"uplatz.com"},"image":{"@id":"https:\/\/uplatz.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Uplatz-1077816825610769\/","https:\/\/x.com\/uplatz_global","https:\/\/www.instagram.com\/","https:\/\/www.linkedin.com\/company\/7956715?trk=tyah&amp;amp;amp;amp;trkInfo=clickedVertical:company,clickedEntityId:7956715,idx:1-1-1,tarId:1464353969447,tas:uplatz"]},{"@type":"Person","@id":"https:\/\/uplatz.com\/blog\/#\/schema\/person\/8ecae69a21d0757bdb2f776e67d2645e","name":"uplatzblog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g","caption":"uplatzblog"}}]}},"_links":{"self":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts\/4704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/comments?post=4704"}],"version-history":[{"count":3,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts\/4704\/revisions"}],"predecessor-version":[{"id":5061,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts\/4704\/revisions\/5061"}],"wp:attachment":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/media?parent=4704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/categories?post=4704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/tags?post=4704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}