Guide / Evaluation essentials

Before you compare databases, define the workload

Turn a broad database shortlist into a testable decision by documenting the workload, hard constraints, and conditions for success.

A database comparison becomes more useful when it answers a specific question. “Which database is best?” leaves too much unstated. A more actionable question is: “Which candidates can support this workload, under these constraints, with a team that can operate them?”

Use the following brief to define that decision before collecting product claims or benchmark charts.

Describe the business operation

Choose a concrete operation: posting a payment, reserving stock, updating player state, or serving a customer account. Write down what a successful operation means and what a user would experience if it failed.

Avoid starting with the database feature list. First describe the outcome the application needs.

Draw the correctness boundary

List the records that must change together. Explain which reads must see the latest committed state and which can tolerate older data. Define what the application should do if a request times out but its final outcome is not yet known.

These questions create useful test cases. For an inventory reservation, for example, describe how concurrent requests should behave when only one item remains. For a payment workflow, define how your application identifies duplicate requests and reconciles uncertain outcomes.

Replace vague scale goals with a workload profile

Instead of writing “must scale,” document the load you intend to test. If a value is not known, record it as an open question rather than guessing.

Workload dimension What to record
Traffic Normal and peak request rates, plus the mix of operations
Data Initial size, expected growth, retention, and distribution
Queries Representative requests, joins, filters, and reporting needs
Latency The percentile objective for each critical operation
Geography Application regions, user regions, and required data locations
Failure The events you intend to simulate and the acceptable recovery outcome

Keep the profile with any test results so another reader can understand the conditions behind them.

Separate constraints from preferences

A constraint is a condition that can disqualify a candidate. A preference is a trade-off your team may be willing to make.

  • Hard constraints: required deployment regions, supported interfaces, data-location requirements, or an explicit recovery objective.
  • Preferences: a familiar administration interface, fewer operational steps, or a preferred commercial model.
  • Unknowns: migration effort, behavior during a particular failure, or cost at a workload level you have not measured.

Give unknowns an owner and a validation step. They should not silently become assumptions in the final recommendation.

Write the acceptance criteria

For each important requirement, describe a test and the evidence that would satisfy it. “Handles failure well” is difficult to assess. A defined failure scenario, an expected application outcome, and a recovery measurement are easier to examine.

Include normal operation, traffic changes, failure, recovery, and routine maintenance in the plan. Record the product edition, version, configuration, and infrastructure used.

Turn the brief into a shortlist

Use hard constraints to remove unsuitable candidates. Compare the remaining options against the same workload and evidence requirements. Explain any differences in test conditions before treating the results as comparable.

The final recommendation should connect back to the original brief. It should state where the choice fits, which trade-offs remain, and what would trigger a new evaluation.

Build and download your own evaluation brief, or read how to inspect a database benchmark.

Editorial disclosure
This is an editorial evaluation framework, not a product test or vendor recommendation.
Use this guide as a starting point. Define and test the requirements of your own workload before selecting a product.