Publisheradvanced
Bursting: Splitting and Delivering Reports at Scale
Explain how BI Publisher's bursting engine splits a single large report into per-recipient documents and delivers each via different channels automatically.
Bursting runs the data model once, splits the result by a key, and delivers a separate document to each recipient.
It's like a mail room that receives one giant stack of company-wide mail, automatically sorts it by addressee, stuffs each person's specific pages into their own envelope, and sends each envelope via whatever method that person prefers (post, courier, or digital) — all without a human manually sorting a single page.
Key Concepts
1
It is the feature that makes BI Publisher an enterprise tool rather than a template engine.
2
Without it.
run the report per customer -> 5,000 submissions
or one giant PDF -> split and email it by hand3
With it.
one run
split by CUSTOMER_ID
-> 5,000 documents, each emailed to its own address4
The bursting definition is a query, and this is the part worth understanding.
5
SELECT customer_id AS "KEY",
'template_invoice' AS "TEMPLATE",
'PDF' AS "OUTPUT_FORMAT",
'EMAIL' AS "DEL_CHANNEL",
email_address AS "PARAMETER1",
'accounts@us.com' AS "PARAMETER2",
'Your invoice' AS "PARAMETER3"
FROM customers ...6
Each row says, for one key: which template, which format, which channel, and the channel's parameters.
7
So delivery is data. A customer who wants PDF by email and another who wants a fixed-width file by FTP
are two rows, not two configurations. Adding a customer changes nothing in the report.
8
Channels. Email, FTP and SFTP, printer, fax, WebDAV, and the file system.
9
The template can vary per recipient too, which is how one run produces an English invoice for one
customer and a localised one for another.
10
What to get right.The split key must match the data model's grouping. Bursting by customer requires the XML grouped by
customer; otherwise the split produces empty or duplicated documents.
11
Delivery failures. One bad email address should not stop the run. The job history records per-recipient
outcomes, and that list is the thing to monitor — a burst that "completed" with two hundred delivery
failures reports success.
12
Volume. Five thousand documents is five thousand rendering operations and five thousand emails. Schedule
it where that load is acceptable, and check the per-master-row query setting first, since that is usually
what makes it slow.
13
What the interviewer is probing.1. "What does a bursting query have to return?" Probing: the mechanics. Stalls: "The data."
Moves up: one row per burst key with the delivery method, address, template and locale for that
group.
14
2. "What is the main operational benefit?" Probing: the value. Stalls: "Speed." Moves up:
one scheduled run produces and delivers thousands of personalised documents, instead of a job per
recipient.
15
3. "What is the risk you must control?" Probing: the practical warning. Stalls: "None."
Moves up: sending the wrong document to the wrong recipient — the burst key and the delivery
address must come from the same validated source.
16
4. "How do you test bursting safely?" Probing: the discipline. Stalls: "In production."
Moves up: redirect delivery to an internal address in non-production, because a clone with live
addresses will email real customers.