Database Affinity Data Guide
The measurements describe one request path with three roles:
compute-aandcompute-brun the same application service.database-primaryis a separate PostgreSQL primary used by both compute nodes.clientsends requests to either compute node over measured network paths.
The test measures client-to-compute and compute-to-database paths separately. It changes compute placement while keeping the database primary fixed.
The labels identify roles in this experiment. They do not identify device models, operating systems, host names, accounts, or network locations. The published files omit those details. Do not infer a machine identity from a role label or a latency.
Describe the test topology by function and connection: a client, application compute nodes, a database node, and the measured network paths between them. Publish only the role and path details needed to interpret or reproduce the measurements. Do not name or describe the specific devices that filled those roles.
Files
- Calibration CSV: calibration request times by role and route.
- Held-out CSV: timings after the client path changed.
- Initial run CSV: initial direct and routed request times.
- Policy CSV: routed times and role choices by policy.
- Results CSV: planner output for the illustrative topology.
- Primary crossover CSV: first serial-call sweep.
- Repeat crossover CSV: repeated serial-call sweep.
- Two-call CSV: follow-up for two serial calls.
- Proxy CSV: routed times and role choices from the repeat.
- Primary summary CSV: first sweep aggregates.
- Repeat summary CSV: repeated sweep aggregates.
- Two-call summary CSV: two-call aggregates.
- Proxy summary CSV: routed aggregates and intervals.
- Primary calibration JSON: first sweep path costs.
- Repeat calibration JSON: repeat path costs.
- Measured topology JSON: role-level paths and workload inputs.
- Example topology JSON: separate planner example.
Fields and interpretation
The compute, host, and site fields use role labels. In crossover files,
A means Compute A and B means Compute B. The data field names the shared
database role. These labels preserve which path produced each measurement.
Latency fields are milliseconds. p50 is the sample median. Raw measurement
files contain one row per request. Summary files report aggregates and, where
available, bootstrap intervals. The database_ms field measures the database
portion of a request. It is not the full request latency.
The topology file with app-west, app-east, and app-central contains an
illustrative planning scenario. It is not a description of the three-node
measurement setup.
The same database primary serves both compute roles in the measured tests. The comparison changes the application placement and its network path. It does not compare database replicas or database placement.
The public proxy scripts require local endpoint URLs for both compute roles. Pass them as command-line arguments when you run a script. Published artifacts do not include endpoint URLs.
Keep this role-based description in every public artifact. Do not add hardware types or models, operating systems, host names, private addresses, tunnel names, user names, or personal file paths. Keep any local mapping between role labels and devices outside the published files.