Menu
Datadog Blog·August 31, 2026

Optimizing Database Queries with Synthetic Data and Fidelity Metrics

This article explores how Datadog's Bits system optimizes database queries by using synthetic data to simulate production workloads. It details the methodologies for generating realistic data, measuring simulation fidelity, and evaluating query performance improvements based on execution time and database work. The core idea revolves around verifying query rewrite efficacy in a controlled environment before deployment.

Read original on Datadog Blog

The Challenge of Database Query Optimization

Optimizing complex database queries is a critical task in system design, directly impacting application performance and resource utilization. Manually testing query rewrites against production data is risky and often impractical. The article introduces Datadog's approach with their Bits system, which addresses this by creating a reliable, isolated environment for validation. This involves generating synthetic data that closely mimics production characteristics and using robust metrics to prove that a query rewrite is indeed faster and more efficient without adverse side effects.

Synthetic Data Generation and Fidelity

A key component of the Bits system is its ability to generate high-fidelity synthetic data. This isn't just random data; it must preserve the statistical properties, data distributions, and relationships found in actual production datasets. This ensures that query plans and performance characteristics observed in the simulated environment accurately reflect those in production. Techniques for achieving this often involve analyzing schema, cardinalities, value distributions, and referential integrity constraints to build a representative dataset.

💡

Why Synthetic Data Matters

Using synthetic data for performance testing or development environments offers significant benefits: it protects sensitive production data, allows for reproducible testing scenarios, and enables testing edge cases or scale conditions not easily achievable in live systems. For database optimization, high fidelity ensures that query optimizer decisions remain consistent with production.

Measuring Optimization Efficacy

To definitively prove a query rewrite is faster, Bits employs multiple metrics beyond just wall-clock execution time. It considers database work, which includes CPU cycles, I/O operations, and memory consumption. By comparing these metrics for the original and rewritten queries against the synthetic dataset, the system can determine genuine improvements. This holistic view prevents superficial optimizations that might reduce one metric (e.g., execution time) while increasing another (e.g., CPU usage or I/O load), ensuring a net positive architectural impact.

  • Execution Time: The most intuitive metric, but can be influenced by external factors.
  • Database Work (CPU, I/O, Memory): Provides a deeper insight into resource consumption and true efficiency.
  • Query Plan Comparison: Analyzing changes in the execution plan generated by the database optimizer, indicating structural improvements.
database optimizationquery performancesynthetic dataperformance testingdatabase architecturequery rewritedatadogdevops

Comments

Loading comments...