Profiling a large mainframe table does not require moving every row to a separate analytics platform. Some quality questions can be answered efficiently where the data lives; others require evaluating individual values. A sound design separates the two, accounts for the capabilities of each datastore, and leaves a traceable scorecard rather than an unexplained number.
Market perspective
Forrester Consulting’s public, Broadcom-hosted Mainframe Application Development Maturity Model describes modernization that evolves established environments while preserving their operational strengths. Its discussion connects better delivery practices with automation, developer enablement and guardrails rather than treating replacement as the only path forward. Separately, Gartner’s public Market Overview for Data Quality Solutions frames the DQ market around finding and correcting problems and maintaining data that business operations, decisions and AI can rely on. These are complementary market contexts, not a joint architectural specification. Neither source establishes that a particular profiling query is safe, that a connector supports every aggregate or that moving less data guarantees faster execution.
PDI perspective: PDI recommends pushing supported computation to the mainframe where practical and streaming only the bounded data needed for row-level evaluation. Apply the decision matrix, approved workload windows, resource budgets, plan/benchmark checks and evidence-retention safeguards below. Validate semantics and host impact instead of assuming pushdown is always preferable. Product context: PDI Data Quality for Mainframe.
These summaries use publicly available research or abstracts. Citations do not imply endorsement of PDI or its offerings.
PDI pushdown-versus-stream decision matrix
PDI operating recommendation: choose the narrowest execution path that preserves the agreed rule semantics and fits the source’s resource budget. The matrix is a design aid, not a promise that every database, connector or PDI rule supports every SQL expression.
External platform fact: IBM’s Db2 for z/OS documentation lists COUNT, MIN, MAX, AVG and SUM aggregate functions, with function-specific type and null rules. That is evidence of supported Db2 SQL capabilities, not a claim of universal profiling performance, zero host cost or equivalent support in IMS, Adabas or other mainframe stores.
| Quality question | Consider source-side execution | When a bounded stream may be needed | Guardrail or verification |
|---|---|---|---|
| Row counts | COUNT(*) or an appropriate supported count variant over approved scope. | When no suitable aggregate interface is available for the source. | Record filters, snapshot/window and overflow limits; an estimate is not an exact count. |
| Null rates | COUNT(*) and COUNT(column), deriving the null denominator consistently. | When the source cannot express the agreed null/blank/placeholder semantics. | Handle empty sets explicitly; blank and placeholder strings are not automatically SQL NULL. |
| Min/max | MIN/MAX for supported types; use AVG/SUM only for relevant numeric questions. | When custom normalization or non-SQL comparison rules must run in the evaluator. | Confirm type, collation, null semantics and comparable source scope. |
| Distinct counts | COUNT(DISTINCT column) where supported and affordable. | When required key normalization or composite/custom semantics cannot safely be expressed. | Define NULL handling and test sort/work-file cost; do not label an approximation exact. |
| Referential checks | An approved join or anti-join if both sides are accessible and the plan is safe. | When references span inaccessible systems or a bounded snapshot comparison is required. | Align snapshot timing and missing-reference semantics; inspect the join plan. |
| Cross-record/custom rules | SQL only where the rule can be expressed faithfully within supported resource limits. | When stateful/custom evaluation or cross-source reconciliation cannot be expressed safely. | Document grouping/window boundaries and check equivalent results on a controlled sample. |
| Complex row validation | A supported SQL expression only after semantic and cost validation. | Selected columns/rows to an approved rule evaluator when custom logic needs them. | Bound transfer and retention, minimize sensitive values and record evaluator/rule versions. |
PDI operating safeguards before an approved run
- Workload windows: agree the source scope, read-only access, snapshot consistency and operating window with the platform owner; stop or defer work when the busy-host policy requires it.
- Resource limits: set supported time, row, transfer and concurrency budgets with the operator; define cancellation and partial-result handling rather than assuming a query is harmless.
- EXPLAIN and benchmark checks: have the Db2 owner inspect the access plan, then compare supported alternatives on an approved representative workload. An EXPLAIN plan is not a guarantee of elapsed time or production safety.
- Evidence retention: retain the SQL/rule version, approved scope, plan and benchmark references, execution window, exceptions and scorecard. Use approved access/retention controls; avoid retaining unnecessary raw personal rows.
Classify the workload before choosing the path
Start by translating each rule into the minimum information it needs. Counts, null totals, distinct counts, and length bounds may be expressible as aggregates in a supported SQL interface. Format validation, placeholder detection, or custom pattern checks may need selected column values evaluated by a rule engine. Some rules combine both approaches.
A workload inventory should state the table or segment, columns involved, predicate, aggregation or rule logic, expected output, and whether the logic can execute on the host. This prevents “pushdown” from becoming a blanket assumption and helps reviewers understand why particular data moved.
Use a rule-to-execution matrix
For each rule, record the datastore’s supported aggregate, required row-level inputs, expected result shape, access method, and execution window. If the platform cannot support the expression safely, mark that limit explicitly before selecting a streamed evaluation path.
Push down supported aggregates
Where the datastore and access layer support it, calculate appropriate aggregates on the host and return compact results. The mainframe can count rows, nulls, distinct values, or bounds without sending the complete table to the profiling client. This reduces transfer volume and keeps a large share of simple profiling work close to the data.
Pushdown must be validated against actual SQL support, data types, collation, null semantics, authorization, and query plans. A query that works in a development database may behave differently through a vendor gateway or a particular datastore interface. Capture the query or operation, parameters, execution identity, timestamp, and returned summary in the audit record.
Stream only the rules that need row-level values
When a rule needs values the host cannot evaluate in the required form, stream only the necessary columns and use bounded fetches. Do not fetch unrelated fields simply because they are available. Set explicit row and time budgets, use controlled scheduling, and agree on read semantics with the platform team. Read-only or uncommitted-read options are platform- and workload-specific decisions, not universal safety guarantees.
The profiler can then evaluate patterns or business rules off-host while retaining a record of rule version, rows considered, exclusions, and outcome counts. If sampling is used, label the result as sampled and record the sampling method. A sample-based estimate must not be presented as a full-population result.
Respect datastore-specific capability
The pushdown boundary varies across the mainframe estate. PDI’s published coverage describes full aggregate pushdown for Db2 z/OS, Db2 for i, and Datacom; aggregate support for IDMS and Adabas; and streamed evaluation for IMS. Validate those characteristics against the specific versions, connectivity, access path, and configuration in your environment before setting an operational expectation.
IMS is the clearest example of why a single architecture diagram can mislead: the published approach is streamed rather than aggregate pushdown. Other stores may expose different SQL or gateway behavior. An architecture review should therefore list each datastore, supported operations, data movement, dependencies, and fallback behavior separately.
Protect operational service while profiling
Work with system owners to schedule runs, establish workload limits, and monitor impact. Use least-privilege credentials and avoid unbounded scans during sensitive business windows. Agree how a run will stop if resource usage or latency exceeds an accepted threshold, and how operators will know whether it ended normally or was interrupted.
Do not assume a particular isolation mode is lock-free for every configuration. Concurrency effects depend on the datastore, access method, options, and workload. Test with the relevant platform team, document the chosen semantics and observed constraints, and treat “no locks” or “no impact” as a claim that requires precise evidence, not a default promise.
Make scorecards auditable
A scorecard is useful when each measure has a defined population, rule, and calculation. Identify the table and column, metric, rule registry or configuration identifier, execution path, source query or stream method, result, and limitations. Preserve enough detail to explain how a value was derived without unnecessarily retaining row-level sensitive data.
Use consistent dimensions such as completeness, validity, uniqueness, and consistency when they fit the rule. Keep raw counts alongside any normalized score so a reviewer can see the denominator. Record skipped columns, unsupported rules, timeouts, and access failures as explicit states rather than silently omitting them.
Pilot with evidence, not a throughput promise
Select a representative datastore and table, agree on a small set of pushdown and streamed rules, and capture the starting operational baseline. Compare returned aggregates with a trusted control where feasible; inspect streamed-rule samples with a data steward; and have the host team review workload effects. Record hardware, connectivity, data shape, configuration, and run conditions if performance is measured.
PDI’s mainframe data-quality page, whitepaper, and security resource provide product-specific detail for technical evaluation. Treat any published design or measurement as tied to its stated conditions, not a guarantee for every estate. A defensible rollout is the one that states what was evaluated, what ran where, what moved, what could not be measured, and who accepted the operational posture.
Sources
- PDI Data Quality for Mainframe
- Mainframe data-quality technical whitepaper
- Mainframe data-quality security
- External SQL capability context: IBM Db2 for z/OS 13 — Aggregate functions
- Forrester Consulting — Mainframe Application Development Maturity Model (Broadcom-hosted public study)
- Gartner — Market Overview for Data Quality Solutions (public abstract)
