APPROXIMATEDISTINCTCOUNT in Direct Lake: When 1.6% Error Is Fine
APPROXIMATEDISTINCTCOUNT now runs on Import and Direct Lake models in preview. Decide per measure where about 1.6% error is fine, label it, and test the gain.
115 articles
APPROXIMATEDISTINCTCOUNT now runs on Import and Direct Lake models in preview. Decide per measure where about 1.6% error is fine, label it, and test the gain.
Small files come from simple arithmetic, and every reader pays a cost per file. Where they come from, how to measure them, and how to compact them safely.
A query for one day should not read three years. How partition pruning works, the five ways it silently breaks, and how to pick partition columns.
The physical plan shows what Spark will actually do: shuffles, join strategy, pruning, Python UDFs. How to read one, and which plans should worry you.
One hot key can make one task do a third of a job, and more nodes will not help. How to spot skew in the Spark UI, find the keys, and fix it properly.
Fabric Data Warehouse GPU query acceleration is in preview. Why the 7x benchmark won't predict your bill, and how to run a fair A/B test on your own queries.
A response cache only speeds up the requests it hits, so the tail stays slow until hit rates get very high. Here's the arithmetic and what fixes p95 instead.
A journey-level latency budget only works when each step gets a cap, a timeout and a fallback; here is how to split one across a RAG request.
How to split a slow Fabric pipeline run into start delay, queueing, Spark start-up, copy transfer and idle gaps, with KQL and the activity runs API.
Why slow Fabric silver loads often trace back to the raw zone: landing layout, header checks, small files and bronze table maintenance, with PySpark examples.
Input and output tokens cost and delay answers differently, so split latency into first-token and generation time before trimming anything.
Azure OpenAI caches prompt prefixes automatically, yet many apps see few cache hits. How to measure the hit rate and fix the prompt shapes that break it.
Results: Cold start reduced from 800ms to 150ms. These optimizations combined typically reduce Azure compute costs by 30-50% while improving response times.…
Traditional caching requires exact matches. Users asking "What is Azure?" and "Can you explain Azure?" would generate two separate API calls. Semantic…
For development and test environments, implement auto-pause policies to reduce costs during inactive periods. Monitor utilization patterns and adjust…
Unlike exact-match caching, semantic caching uses embeddings to find similar queries even when worded differently.
VACUUM removes data files no longer referenced by the Delta log. Without regular vacuuming, your storage costs grow unbounded as old file versions accumulate.
Use Redis Vector Search for efficient similarity matching at scale. Tune the similarity threshold based on your use case - higher values ensure more precise…
Proactive drift detection prevents silent AI performance degradation.
Speculative decoding can achieve 2-3x speedup without any quality degradation.
Efficient inference patterns can improve throughput by 5-10x while reducing costs.
NPUs enable efficient on-device AI with 10-100x better power efficiency than CPUs.
Smart caching can reduce AI costs by 30-50% for applications with repetitive queries.
Quantization and HNSW tuning enable vector search at billion-scale with reasonable latency.
Model optimization is both science and art. Start with the techniques that offer the best impact for your specific constraints.
Efficient inference is crucial for production AI. Apply these techniques systematically and measure the impact at each step.
Inference optimization is a continuous process. Start with caching and routing for quick wins, then progressively implement more sophisticated techniques.
Scaling AI Systems: From Prototype to Enterprise
Online inference requires careful attention to latency, reliability, and scalability. Choose patterns based on your specific requirements and constraints.
Effective rate limit handling is about working with the API, not against it. Use token buckets, queuing, and adaptive limits to maximize throughput while…
Timeout management in AI applications requires balancing responsiveness with allowing complex operations to complete. Use adaptive timeouts, deadline…
Parallel function calling dramatically improves response times when multiple independent operations are needed. Use it wisely to build faster, more…
Smoothing averages capacity consumption over a time window, allowing brief spikes without immediate throttling.
Autoscale in Microsoft Fabric provides the flexibility to handle variable workloads while optimizing costs. Configure base capacity for typical load, allow…
1. Monitor utilization patterns : Understand your usage before optimizing 2. Stagger workloads : Avoid concurrent peaks 3. Right size jobs : Use appropriate…
Native execution bypasses traditional JVM-based Spark execution to run queries using native code optimized for modern CPUs.
1. Enable AQE : Adaptive Query Execution handles many optimizations automatically 2. Right size partitions : Target 128MB partitions 3. Broadcast small…
1. Filter early : Push filters as close to data source as possible 2. Use appropriate joins : Broadcast small tables 3. Enable AQE : Adaptive Query…
1. Always enable V Order : Low overhead, universal benefits 2. Add Z Order for specific needs : Known filter patterns 3. Limit Z Order columns : Maximum 3 4…
V-Order is a write-time optimization that physically reorders data within Parquet files to maximize compression and query performance, especially for Direct…
1. Enable by default : For most analytical workloads 2. Choose appropriate bin size : 128MB general, 256MB for Direct Lake 3. Combine with auto compact :…
1. Schedule regular compaction : Daily for high volume tables 2. Use partition aware compaction : Avoid rewriting entire large tables 3. Enable auto…
1. Target 128 256MB files : Optimal for most query engines 2. Use Snappy or ZSTD : Best compression/speed balance 3. Sort by filter columns : Improves…
Pre-filtering: Filter before vector search Post-filtering: Filter after vector search Azure AI Search uses pre-filtering with automatic optimization.
HNSW builds a multi layer graph where: Higher layers : Sparse, for fast long range navigation Lower layers : Dense, for precise local search Layer 0 :…
Scalar quantization maps floating point values to integers by dividing the value range into buckets: Understanding quantization error helps set…
With quantization, this can be reduced to 1-2 GB.
Vector search finds similar items by comparing their mathematical representations (embeddings). The key components: Embeddings : Dense vectors representing…
Latency has multiple components: 1. Network latency : Request travel time 2. Queue time : Waiting for processing 3. Time to first token (TTFT) : Initial…
Effective capacity management is crucial for Fabric performance and cost control. Today I'm diving deep into capacity planning and optimization.
ONNX Runtime is the unsung hero of AI deployment. Today I'm exploring how to use it for consistent AI inference across platforms.
GPT-4o is 2x faster than GPT-4 Turbo. Today I'm exploring how to leverage this speed for responsive applications.
1. Multi region deployment Distribute for resilience 2. Monitor continuously Track utilization and latency 3. Plan scaling windows PTU changes aren't…
Many applications send the same system prompt and context repeatedly: 1. Identify common prefixes System prompts, few shot examples 2. Batch similar…
1. Start with exact match Simple and effective 2. Add semantic caching For variable phrasing 3. Set appropriate TTL Balance freshness and savings 4. Monitor…
The KQL habits that keep queries over streaming telemetry fast in Fabric KQL databases and Azure Data Explorer, and the shortcuts that quietly slow them down.
Design-time rules for Direct Lake in Fabric: size tables to your SKU's guardrails, move logic into Delta, avoid views, and control when models reframe.
A diagnose-first workflow for slow Fabric reports: check capacity, the visual, DAX, Direct Lake fallback, Delta file layout and Spark, in that order.
How Fabric smoothing, carryforward and the four throttling stages work, how to read them in the Capacity Metrics app, and which levers actually help.
Query performance is where UX and cost meet. My practical approach is to measure user-facing latency, inspect query plans, and prioritise optimisations that…
V-Order feels like a secret weapon because it's a write-time optimisation with outsized read-time benefits. In practice I enable V-Order on wide, heavily…
Direct Lake changes the Power BI performance story — but it's not automatic. Over the past months I've seen Direct Lake deliver dramatic improvements when…
Performance tuning in Fabric blends write-time optimisations (v-ordering, partitioning) with query-time strategies (predicate pushdown, materialised views).…
Master parallel execution patterns in LangChain to build faster, more efficient LLM applications.
Tomorrow we'll explore conversation summarization techniques. Redis Caching Semantic Search LLM Caching Patterns
Tomorrow we'll explore Azure ML compute options. PyTorch CUDA Semantics Flash Attention NVIDIA Optimization Guide
Tomorrow we'll explore GPU optimization techniques. Continuous Batching Paper vLLM Batching Triton Inference Server
Tomorrow we'll explore batching strategies in detail. vLLM TensorRT LLM Speculative Decoding Paper
Tomorrow we'll explore INT8 quantization in more detail. PyTorch Quantization bitsandbytes GPTQ Paper
Tomorrow we'll explore quantization basics in more detail. PyTorch Quantization Flash Attention torch.compile
ONNX Runtime is the inference engine I reach for when a Python-trained model needs to be deployed somewhere other than a Python service — a .NET…
Tomorrow we'll explore Fabric Real Time Analytics. Query Insights Documentation Performance Tuning Monitoring DMVs
Streaming improves the user experience significantly. Tomorrow, I will cover error handling for AI applications.
Effective caching significantly reduces LLM costs and latency. Tomorrow, I will cover response streaming patterns.
Direct Lake is the quiet superpower of Microsoft Fabric, and I think it's underexplained in most of the post-Build coverage. The classic Power BI trade-off…
LLM caching strategies are essential for production systems. By combining exact matching, semantic similarity, and intelligent invalidation, you can…
1. Collect metrics CPU, memory, network, IOPS 2. Analyze patterns Peak, average, trends 3. Identify candidates Under utilized resources 4. Recommend changes…
Auto scaling is powerful but requires careful tuning. Start with conservative settings, monitor behavior, and adjust based on real data. Combine metric…
The partition key decision is crucial and difficult to change later: New in 2022 partition up to 3 levels: Optimize indexing for your query patterns: Write…
Don't wait for auto scaling to catch up during traffic spikes: Reduce database load with intelligent caching: Use read replicas and query optimization:…
Output caching stores the complete HTTP response and serves it directly for subsequent identical requests, bypassing the entire request pipeline. Unlike…
.NET 7 continues the tradition of making .NET faster and more cloud-native with each release. Here's a preview of the key improvements we'll see at GA.
Proper caching can reduce build times by 50-80% for dependency-heavy projects.
Larger runners can dramatically reduce build times when used effectively with parallelizable workloads.
When your Cosmos DB container isn't fully utilizing its provisioned throughput, the unused capacity accumulates as burst credits. These credits can be used…
Enrichment cache significantly reduces costs and improves performance for AI-enriched search solutions.
Read replicas in Azure Database for MySQL Flexible Server enable scaling out read-heavy workloads by directing reporting queries, analytical queries, and…
When two distributed tables share the same distribution column and colocation group, their corresponding shards are placed on the same worker node.
Understanding these query patterns helps you leverage Citus effectively for high-performance distributed PostgreSQL applications.
Reference tables eliminate network round-trips for joins, significantly improving query performance in distributed setups.
Generic math interfaces Required members Improved minimal APIs Native AOT compilation Enhanced performance One of the most anticipated features is generic…
Photon is Databricks' native vectorised query execution engine written in C++—a replacement for the JVM-based Apache Spark execution engine for SQL and…
Serverless SQL charges based on data processed. Optimization reduces both cost and query time.
How Power BI automatic aggregations train on a DirectQuery dataset's query log, what the preview requires, and when hand-built aggregations still win.
How Power BI hybrid tables add a DirectQuery partition to an incremental refresh policy, what the preview requires, and when Import alone is the better call.
How to set storage modes table by table in a Power BI composite model, when Dual earns its place, and how aggregations keep DirectQuery facts fast.
Workload management in Synapse Dedicated SQL Pool is the resource governance system that prevents low-priority ad-hoc queries from consuming all compute and…
Result set caching in Synapse Dedicated SQL Pool stores the output of a query in the dedicated pool's storage and returns the cached result for subsequent…
The COPY command replaced PolyBase as the recommended data loading mechanism for Synapse Dedicated SQL Pool because it's simpler to use and performs at the…
Synapse Dedicated SQL Pool (formerly Azure SQL Data Warehouse) is the massively parallel processing (MPP) engine for structured, petabyte-scale analytical…
Materialized views in ADX pre-aggregate data according to a defined query, updating continuously as new data is ingested—so when you query the view, you're…
CDN caching rules are the configuration that determines how long cached content stays at the edge before the CDN checks with the origin for updates—and…
Azure CDN significantly improves application performance by reducing latency and offloading traffic from origin servers.
Azure Cache for Redis is the caching layer I add to almost every production Azure application that has read-heavy patterns with data that doesn't change on…
Proper partition key design is fundamental to Cosmos DB success. Take time to analyze your access patterns and data distribution before finalizing your…
Azure SQL's Automatic Tuning is the machine learning system that acts on Query Store data to make index and query plan decisions that would otherwise…
Query Store transforms database performance troubleshooting from guesswork into data-driven analysis, making it an indispensable tool for maintaining…
IQP represents a significant step toward self-tuning databases, reducing the manual effort required to optimize query performance while automatically…
Azure Front Door Standard/Premium is the convergence I've been waiting for since the days when you had to choose between classic Front Door (global routing…
The Cosmos DB integrated cache is the feature I've been waiting for since the first time I watched a read-heavy application burn through its RU budget…
What breaks once Power BI incremental refresh is live: query folding, change detection, republishing, and managing partitions through the XMLA endpoint.
Deploy JMeter on Azure VMs for distributed testing: Run JMeter in containers for quick, scalable tests: Metric Description Target Response Time (avg)…
Redis caching transforms application performance at scale.
Right-click table → Incremental refresh Incremental refresh transforms multi-hour refreshes into minutes.
Front Door is the global entry point for serious production workloads.