Try it free

Partition your Grail data

  • Latest Dynatrace
  • Upgrade guide
  • Published Jul 24, 2026

Assess log and span traffic, then execute a bucket strategy if needed. Default buckets work for most environments, but high-volume environments (above 5 TB/day) or those with compliance-driven retention requirements need custom buckets to keep query performance and costs predictable.

Why upgrade?

A bucket strategy transforms Grail from a flat data store into a partitioned, cost-efficient storage layer, improving query performance, enforcing retention by compliance requirement, and making DPS consumption predictable as volume grows.

Without a bucket strategy, all signals land in the default bucket and get the same retention policy. This becomes a problem as volume grows: queries scan the full data lake instead of targeted partitions, response times degrade, and DPS consumption increases unnecessarily.

  • Optimized query performance and DPS consumption: targeted queries scan smaller, relevant buckets instead of the full data lake, improving response times and reducing cost
  • Tailored retention policies: different applications or signal types can have different retention periods, meeting compliance and business requirements
  • Cost-effective storage: high-volume, low-priority data gets shorter retention while critical data is kept longer

What will you do?

Start by assessing volume before committing to any bucket design. The assessment determines whether custom buckets are needed at all.

  1. Assess total and per-application signal volume using the Data Partitioning Helper notebook
  2. Design a bucket strategy based on volume, retention requirements, and compliance needs
  3. Create buckets and configure OpenPipeline routing rules
  4. Validate that traffic is routed correctly and query performance has improved

Before you begin

At a glance

  • Estimated effort: 1–4 days
  • Estimated timeline: 1–2 weeks

Prerequisites

Enrich your observability signals: signals must be enriched with relevant dimensions (such as dt.security_context or application identifiers) before routing rules can be configured.

Key stakeholders

RoleInvolvementResponsibility

Dynatrace Admin

Required

Designs bucket routing and configures OpenPipeline storage processors

Application Team Leads

Recommended

Provide input on data volumes, retention needs, and compliance requirements per application

Security / Compliance

Optional

Defines retention mandates (for example, PCI DSS 12-month requirements)

Organize your Grail data

1. Assess total and per-application volume

Calculate daily signal volume using the Data Partitioning Helper notebook to identify whether custom buckets are needed and which applications drive the most traffic.

  1. Run the Data Partitioning Helper notebook in your Dynatrace environment.
  2. Calculate total daily volume for logs and spans.
  3. Identify volume by application or service; flag any application generating more than 250 GB/day or an outsized share of total volume.
  4. Note applications with special retention requirements (for example, compliance-driven 12-month retention).

Verify: Volume report complete with per-application breakdown; decision made on whether default buckets are sufficient or custom buckets are required.

Complete the volume assessment first: deploying with default buckets in high-volume environments (above 5 TB/day) leads to slow queries and unnecessarily high DPS consumption. Complete the assessment before committing to a bucket strategy.

2. Design bucket strategy

Define which signals need their own bucket based on volume, retention, and compliance requirements from the assessment.

  1. Review the volume assessment output and compliance requirements.
  2. Create separate buckets for applications exceeding 250 GB/day or those with specific retention requirements (for example, PCI DSS 12-month).
  3. Define retention periods per bucket: align with compliance mandates and business retention policies.
  4. Document the routing logic: which dt.security_context value or application identifier routes to which bucket.

Verify: Bucket strategy document complete with retention periods, routing criteria, and compliance alignment confirmed with the Security/Compliance stakeholder where required.

Avoid over-partitioning: creating too many buckets adds operational overhead without meaningful performance or cost benefit. Focus on applications with high volume or distinct retention requirements.

3. Create buckets and configure routing

Create buckets in Dynatrace and configure OpenPipeline storage processors to route traffic according to the strategy.

  1. Create buckets in Settings > Storage Management with the appropriate retention periods defined in the previous step.
  2. For each bucket, configure an OpenPipeline storage processor to match the routing criteria, for example, route by dt.security_context value or application identifier.
  3. Test routing rules in a staging context before applying to production traffic.
  4. Enable routing processors in the correct order to prevent misconfigured rules from overriding intended routing.

Verify: All buckets created with correct retention periods; OpenPipeline storage processors active and routing test traffic to the expected buckets.

Test routing rules before enabling in production: misconfigured OpenPipeline storage processors send data to wrong buckets, breaking retention policies and access boundaries. Test routing rules before enabling them on production traffic.

Resolve enrichment gaps before configuring routing: if dt.security_context or application identifiers are missing from signals, storage processors cannot route them correctly. Resolve enrichment gaps before configuring bucket routing.

4. Validate traffic routing and query performance

Confirm that signals are landing in the correct buckets and that query performance has improved against the pre-partitioning baseline.

  1. Review signal distribution across buckets after enabling routing processors.
  2. Confirm that the percentage of signal traffic routed to non-default buckets matches the expected routing plan.
  3. Run representative DQL queries against each bucket and compare response times against the pre-partitioning baseline.
  4. Confirm that retention policies are correctly applied; verify compliance-sensitive signals are landing in the correct bucket.

Verify: Target percentage of signal traffic routed to non-default buckets; all retention policies applied correctly; query performance at or above the pre-partitioning baseline.

Stage complete when:

  • Volume report is complete with a decision made on whether default or custom buckets are required
  • Target percentage of signal traffic is routed to non-default buckets, or default buckets are confirmed as sufficient
  • All retention policies are correctly applied and query performance is at or above the pre-partitioning baseline

With data organized and retention policies in place, your environment is ready for the configuration upgrade phase. The next stage is Upgrade configurations and settings: migrate the foundational classic configurations (service naming, metrics, SLOs, and processing rules) that dashboards and alerting depend on. Complete stage 6 before starting stages 7 or 8.

Documentation and best practices

The following resources support your work in this stage. Documentation covers platform concepts, configuration reference, and related guides; best practice cards provide implementation guidance from Dynatrace experts.

  • Configure data storage and retention for logs

    Configure log bucket assignment and routing rules to direct log traffic to the correct storage buckets.

  • How to organize your data stored in Grail

    Overview of Grail data organization, buckets, and retention management.

  • Best practices for data partitioning

    Design a bucket strategy, calculate per-application ingest volumes, and configure OpenPipeline routing for optimal query performance.

  • Best practices for a logs bucket strategy

    Define a logs bucket strategy by line of business, set retention policies, and optimize query performance and DPS costs.

Ready for more?

When signal routing and retention policies are confirmed, you're ready to migrate the foundational classic configurations that dashboards and alerting both depend on. Complete this stage before starting the parallel dashboard and alerting stages; the service detection, SLO, and calculated metric changes made here are prerequisites for the stages that follow.

Continue to Upgrade configurations & settings.

Related tags
Dynatrace Platform