Database
The IBM Process Mining application requires the databases, Monet 11.49.11 and MongoDB 6.0 or later.
Installing MonetDB
MonetDB is bundled as part of a Process Mining deployment. Under normal circumstances you should do not have to install your own instance of MonetDB.
If Support recommends that it is necessary to intall your own MonetDB deployment, use one of the following commands depending on your operating system:
-
To install MonetDB on Ubuntu Operating System, run the following command:
echo "deb https://dev.monetdb.org/downloads/deb/ $(lsb_release -sc) monetdb" | sudo tee /etc/apt/sources.list.d/monetdb.list sudo wget --output-document=/etc/apt/trusted.gpg.d/monetdb.gpg https://dev.monetdb.org/downloads/MonetDB-GPG-KEY.gpg sudo apt update sudo apt install monetdb5-sql monetdb-client
For more information, see Ubuntu&Debian Easy Setup.
If the default available version of MonetDB is not supported for Ubuntu, you must state the explicit version during the installation:
sudo apt install monetdb5-sql=11.49.11 monetdb-client=11.49.11 libmonetdb-client26=11.49.11 libmonetdb-stream26=11.49.11 monetdb5-server=11.49.11 libmonetdb28=11.49.11
-
To install MonetDB on RedHat, run the following command:
sudo yum install https://dev.monetdb.org/downloads/epel/MonetDB-release-epel.noarch.rpm sudo rpm --import https://dev.monetdb.org/downloads/MonetDB-GPG-KEY sudo yum install MonetDB-SQL-server5 MonetDB-client
For more information, see RedHat&CentOS Easy Setup.
If the default available version of MonetDB is not supported for RedHat, you must state the explicit version during the installation:
sudo yum install MonetDB-SQL-server5-11.49.11 MonetDB-client-11.49.11 MonetDB-11.49.11 MonetDB-stream-11.49.11
After the installation, do the following steps:
- Ensure that MonetDB is not enabled with the following command on Ubuntu and RedHat:
sudo systemctl status monetdbd
sudo systemctl stop monetdbd
sudo systemctl disable monetdbd
- Run the following commands to enable MonetDB the access to the library file shipped with IBM Process Mining:
For Ubuntu:
pushd /usr/lib/x86_64-linux-gnu/monetdb5
cp <PM_HOME>/native/linux/x64/*.so .
ln -s lib_PM-sql-2.0.so lib_PM-sql.so
popd
For RedHat:
pushd /usr/lib64/monetdb5
cp <PM_HOME>/native/linux/x64/*.so .
ln -s lib_PM-sql-2.0.so lib_PM-sql.so
popd
Configuring MonetDB
Standard configuration of MonetDB is automatic and does not require manual configuration.
Overriding bundled MonetDB
In order to use alternative MonetDB binaries, you must set override in <PM_HOME>/bin/environment.conf
:
PM_MONET_OVERRIDE=1
If alternative MonetDB binaries were not deployed as directed as in the Installing MonetDB section, additional overrides are available.
An example of an additional override:
PM_MONET_BINARIES_FOLDER=/home/user/bin
PM_MONET_LIB_FOLDER=/home/user/usr/lib64
Additional MonetDB override options
You can manually configure additional settings in <PM_HOME>/bin/environment.conf
and <PM_HOME>/etc/processmining.conf
files. These changes include database folder location, port, or database name.
An example of additional settings:
PM_MONETDB=${PM_REPOSITORY}/monetData
PM_MONET_PORT=50000
PM_MONET_LISTEN=0.0.0.0
PM_MONET_DB_NAME=processmining
PM_MONET_LIBRARY_SUFFIX=PM-sql
Changing those settings must be duplicated in the processmining.conf
file in the MonetDB section. An example of changes which correspond to the manually configured additional settings:
monetdb: {
database: "processmining",
host: "127.0.0.1",
port: 50000,
user: "monetdb",
password: "XXXXX",
"decision-rules": {
hikari: {
maximumPoolSize: 4
}
}
}
Installing MongoDB instance
You can use any one of the following methods to install a MongoDB instance:
-
Install the Community Edition on the same server as an application or a separated DB server.
-
Install the Enterprise Edition on the same server as an application or a separated DB Server.
-
Subscribe to the MongoDB Atlas service on AWS Cloud. Ensure that you choose the same region as that of the application.
Before you configure MongoDB, you must assign the following three MongoDB roles to the user:
dbAdmin
readWrite
read
Advanced DB configuration (for clustering)
You must use a custom connection string when using a cluster. The following code sample in the <PM_HOME>
/etc/processmining.conf
file describes a custom connection string:
persistence: {
mongodb: {
database: "<database name>",
password: "<database password>",
connectionString: “mongodb://username:<PASSWORD>@clusterdev0-shard-00-00-0mh5i.mongodb.net:27017,clusterdev0-shard-00-01-0mh5i.mongodb.net:27017,clusterdev0-shard-00-02-0mh5i.mongodb.net:27017/test?ssl=true&replicaSet=ClusterDev0-shard-0&authSource=admin&retryWrites=true&w=majority”
}
}
The application replaces the <PASSWORD>
placeholder with the actual password after the decryption process.
Setting up MongoDB for process app using URI
To set up a process app using URI, do the following:
-
Delete the following attributes in the
<PM_HOME>/etc/accelerator-core.properties
:# mongo configuration please update as per your mongo db detail spring.data.mongodb.authentication-database=<authentication database name> spring.data.mongodb.database=<database name> spring.data.mongodb.port=27017 spring.data.mongodb.host=<database host> spring.data.mongodb.password=<database unencrypted-password> spring.data.mongodb.username=<database user> spring.data.mongodb.uuid-representation=standard
-
Add the following attribute in the
<PM_HOME>/etc/accelerator-core.properties
file.
Ensure that you include at least the host
,port
, database
, and uuid-representation
values in the URI to set up MongoDB for Process Apps. For more information on the URI layout, see the Connection
Strings topic in MongoDB documentation.
spring.data.mongodb.uri: mongodb://username:<unencrypted-password>@clusterdev0-shard-00-00-0mh5i.mongodb.net:27017,clusterdev0-shard-00-01-0mh5i.mongodb.net:27017,clusterdev0-shard-00-02-0mh5i.mongodb.net:27017/test?ssl=true&replicaSet=ClusterDev0-shard-0&authSource=admin&retryWrites=true&w=majority&uuidRepresentation=standard
- For Process App, replace the
<unencrypted-password>
with the actual MongoDB password. - For Process App,
uuidRepresentation=standard
is required to set up MongoDB using URI. - Alternatively, you can manually set up MongoDB for Process App. For more information about configuring MongoDB for Process App using manual steps, see MongoDB configuration for process app.