Bizagi Operational Data Store (ODS) is an optional feature, designed and recommended to improve Bizagi Engine's performance and availability.
The concept behind Bizagi ODS is to separate the availability and resources involved in Process Analytics requests (such as BAM and Analysis tasks) from the transactional database.
View more information about Process Analytics.
This feature is optional though specially powerful in mission-critical applications, in which a high volume of information is requested within analysis queries (and it is not ideal to affect the daily processes and Work portal's performance).
This option is also recommended when you wish to integrate a reporting suite or other BI tools so that these tools do not execute queries directly at the transactional database.
How does it work?
Throughout Bizagi ODS configuration, the BAM and Analytics module in the Work Portal will make use of a database which is replicated from the database used as the Processes repository.
This allows that the operations and requests executing queries with a large amount of data (such as the requests for Analysis Reports for real-time monitoring or historical analysis), are carried out without using the resources employed for the daily Process Activities.
The following diagram illustrates Bizagi ODS architecture:
What you need to do
To use Bizagi ODS, as a prerequisite, you will need to configure replication for your Process repository (Bizagi project's database).
Configuring database replication is done at the database configuration itself, and will be carried out differently according to the database engine used (SQL Server, Oracle).
Once this replication is set up according to what described and recommended below in the ODS Configuration Guidelines, setting up the ODS feature consists of configuring the connection information in Bizagi (the connection string) to that replicated database.
Useful information to accomplish database replication can be reviewed at these external links:
•For SQL Server 2008, 2008 R2: http://technet.microsoft.com/en-us/library/ms151198.aspx.
•For SQL Server 2005: http://technet.microsoft.com/en-us/sqlserver/bb895875.
•For Oracle: http://www.orafaq.com/wiki/Advanced_Replication_FAQ
The following guideline is presented in order to illustrate main subjects to keep in mind while configuring the replication for your Bizagi Processes repository. For a detailed guide on the steps to achieve this, please refer to Database documentation such as:
ODS Configuration Guidelines
Note that the proper configuration of a replicated database and any further security settings, are responsibility of the database administrator.
This guideline is provided for best practices and requirements in Bizagi's ODS configuration:
1. Bizagi's database is the only publisher.
This means that no matter how many intermediary distributors are used, the main database of Bizagi (Process repository) must be the only one replicating its data into the ODS.
2. Near-real-time replication.
In order to have updated information while showing BAM reports, it is necessary that every action in the main system is quickly transmitted to the ODS.
For example, transactional replication achieves this in Microsoft SQL Server.
3. One-way replication.
Operations in the ODS must not affect the main Bizagi database. The ODS might be used to build aggregations, temporal data, intermediary tables, or other data that is not necessary in the main system. For example and once again, transactional replication achieves this in Microsoft SQL Server.
4. Proper replication size estimation.
Given that some database-writing operations involve large data transactions (for example editing diagrams in Bizagi Studio or uploading files the in web application), it is recommended to estimate an adequate approximate size for the replication articles and configure them where necessary.
This can also be measured in a test environment.
For example, for the Max Text replication Data option used in Microsoft SQL Server, 3 to 5 MB is usually appropriate and enough.
5. Proper replication credentials.
Usually and architecture-wise, the main database and the ODS reside in different Database Servers.
Ensure that you use domain accounts to run replication services such as the SQL Server Agent.
Avoid the accounts such as "Local System", strictly because the credentials for this account have no access to shares on the network, and it is not an authenticated network account.
Defining the ODS in Bizagi
Once you have set the database replication configuration for the ODS, configuring the connection to this ODS in Bizagi is done by using Bizagi Management Console for any environment (Test or Production) as described below.
1. Open the Environment options.
To configure the ODS from the Management Console, go to the Configuration tab and click on the Environment button for the Environment configuration.
This option is also available in Bizagi Studio for the Development environment:
2. Locate the ODS Configuration.
Under the Advanced options, an Operational Data Store section will be shown to configure the connection to your replicated environment's database.
3. Configure the ODS connection.
Configuration at this point will vary according to the server and platform running your processes.
When running Bizagi Engine in a .NET platform, first choose the Provider type and then fill out the details.
For SQL Server, input the connection detail taking into account:
•Server: The database instance where the ODS is at.
•Database: The replicated database (ODS).
•Login name: The login account used for the connection to that database.
•Password: The password for the login account used for the connection to that database.
For Oracle, input the connection detail taking into account:
•Service: The connection string to the Oracle database instance. Should be inputted with the [databaseServer]:[port]/[serviceName] syntax:
•Username: The user schema representing the replicated source.
•Password: The password for that user schema.
Once this information is configured, Process Analytics queries executed in the Work Portal will be carried out against the ODS, and without using different resources than those involved for the end users' daily activities.
In addition to the previous option, Bizagi eagerly encourages the use of query engine to support your ODS as a best practice, boosting your BAM and Analytics modules even more.
To learn more about this possibility, refer to How to enable query engine ODS support.