The basics of SAP BusinessObject Intelligence Platform Publication are explained in my earlier blog. One aspect that is often misunderstood is the different bursting modes that publication offer as part of the Advanced settings. Each bursting mode has its advantages and disadvantages. Here is an overview of the three bursting modes that are available.
- One database fetch for all recipients (single pass)
- Fetches the data once for each report. This report bursting method uses the data source logon credentials of the publisher to refresh data. It is recommended if you want to minimize the database hits. However depending on your report it may retrieve too much data from the database at once. It is most secure if output format is a static one such as PDF. Otherwise the recipient may be able to modify the document and data associated with other recipients. (CR document would not allow this kind of modifications)
- One database fetch for each batch of recipients (Multi-pass)
- This bursting mode is designed for high-volume scenarios. Here the publication is refreshed, personalized, and delivered to recipients in batches and it will hit the database once per batch. This report bursting method uses the data source logon credentials of the publisher to refresh data. WebI publications do NOT support this bursting mode.
- One database fetch per recipient (Multi-pass, per recipient bursting)
- As the name indicates, this bursting mode hits the database for each of the recipients. It uses the data source logon credentials of the recipient to refresh data, if BOE recipients are used and is recommended for reports with metadata and data layer security. Use it when you want to maximize security for delivered publications. However, if all recipients have the same security settings, you will hit the database for each recipient asking for the same data, which may be a performance concern.
Please note that Webi publication with dynamic recipient only supports “One database fetch for all recipients” bursting mode. CR supports all bursting modes for dynamic recipients.
When choosing the busting mode keep your personalization scenario in mind. For example if all recipients are getting the same data (minimal personalization) then use one fetch for all recipients, however if you have a personalized data for each recipient then One database fetch per recipient may be your best option.
Also keep in mind that the more personalization you have, the more artifacts (personalized reports) are created on the system. You may want to ensure that these are cleaned up at some point either by instance clean up or if you’re distributing to external destination then you could deselect the “Default destination” which cleans up the publication artifacts on the BOE system.
If you’re running “One database fetch per recipient” and you have many recipients then ensure that you have sufficient CR or WebI scheduling resources as publication spins of a CR/WebI scheduling job for each recipient.