Configurazione del database

IBM Process Mining richiede PostgreSQL o Db2 opzionale per IBM Task Mining. Per impostazione predefinita, l'operatore IBM Process Mining Operator installa automaticamente un PostgreSQL incorporato in una nuova installazione e aggiorna Db2 senza la configurazione per il backup, il supporto e l'alta disponibilità. L'ambiente implementato è adatto solo per la dimostrazione o la valutazione dei casi d'uso. Per gli ambienti di produzione, configurare l'istanza con un database autogestito.

È possibile impostare il CRD con le seguenti configurazioni:

tipo
Tipo di database, i valori ammessi sono pgsql o db2.
database
Il nome del database.
schema
Il nome dello schema; richiesto solo per Db2. Il nome è solitamente uguale al nome utente e deve essere scritto in maiuscolo.
ssl
Se è vero, viene attivata una connessione SSL. Per connettersi al sito Db2 fornito da IBM Cloud SaaS, è necessaria una connessione SSL.
Utente
Account utente, che ha accesso in lettura e scrittura al database.
credenziali
Le informazioni sul nome segreto e sulla password contengono la seguente configurazione:
  • secretname Il nome del segreto.
  • passwordkey La chiave che contiene la password codificata.
host
Nome host del server PostgreSQL.
porta
La porta su cui il database è in ascolto.

Migrazione verso PostgreSQL

È possibile migrare i dati di MongoDB esterni verso PostgreSQL interno o esterno in IBM Process Mining.

Configurare il CRD nel modo seguente per migrare da un sito MongoDB a un sito esterno PostgreSQl:

apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
  name: <instance name>
  namespace: <namespace>
spec:
  license:
    accept: true
    cloudPak: IBM Cloud Pak for Business Automation
  defaultStorageClassName: rook-cephfs
  processmining:
    storage:
        database:
          external_mongo:
            host: '172.16.1.18'
            port: 27017
            database: processmining
            user: 'ww'
            connectionstring: ''
            credential:
              secretname: 'example'
              passwordkey: password
          external:
            host: '172.16.1.18'
            port: 5432
            database: processmining
            user: 'ww'
            connectionstring: ''
            credential:
              secretname: 'example'
              passwordkey: password

Configurare il CRD nel modo seguente per migrare da un sito MongoDB esterno che contiene dati esistenti a un sito interno PostgreSQL:

apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
  name: <instance name>
  namespace: <namespace>
spec:
  license:
    accept: true
    cloudPak: IBM Cloud Pak for Business Automation
  defaultStorageClassName: rook-cephfs
  processmining:
    storage:
        database:
          external_mongo:
            host: '172.16.1.18'
            port: 27017
            database: processmining
            user: 'ww'
            connectionstring: ''
            credential:
              secretname: 'example'
              passwordkey: password

PostgreSQL o Db2

IBM Task Mining è configurato su un cluster interno a PostgresEDB in una nuova installazione predefinita. Se si desidera aggiornare IBM Process Mining da 2.0.1 a 2.0.1, IBM Task Mining utilizzerà DB2 o un Postgres esterno senza modificare la configurazione della versione precedente.

Nota: Se si è scelto di utilizzare un sito Postgres esterno durante la nuova installazione, è necessario configurare il sito IBM Process Mining è necessario configurare IBM Task Mining anche con le impostazioni di questa sezione.

Per abilitare un'istanza esterna di PostgreSQL, configurare il CRD nel modo seguente.

apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
  name: <instance name>
  namespace: <namespace>
spec:
  license:
    accept: true
    cloudPak: IBM Cloud Pak for Business Automation
  defaultStorageClassName: rook-cephfs
  taskmining:
    storage:
        database: 
          dbtype: 'pgsql'
          external:   
            host: 'dbinstance.mynamescape.svc'
            port: 3306
            database: taskmining
            user: 'myuser'
            schema: ''
            credential: 
              secretname: 'example'
              passwordkey: password

Configurare il CRD nel modo seguente per abilitare un'istanza esterna di Db2:

apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
  name: <instance name>
  namespace: <namespace>
spec:
  license:
    accept: true
    cloudPak: IBM Cloud Pak for Business Automation
  defaultStorageClassName: rook-cephfs
  taskmining:
    storage:
        database: 
          dbtype: 'db2'
          external: 
            host: 'dbinstance.mynamescape.svc'
            port: 50000
            database: pmdb
            user: 'taskminer'
            schema: 'TASKMINER' #usually is equal to username; must be uppercase
            credential: 
              secretname: 'example'
              passwordkey: password
            ssl: false

Quando la sezione external è presente, il Db2 integrato non è installato e la PVC non viene creata.

Personalizzazione dei valori per postgresEDB

È possibile personalizzare i valori di postgresEDB configurando il CRD nel modo seguente:

apiVersion: processmining.ibm.com/v1beta1
kind: ProcessMining
metadata:
  name: <instance name>
  namespace: <namespace>
spec:
  license:
    accept: true
    cloudPak: IBM Cloud Pak for Business Automation
  defaultStorageClassName: rook-cephfs
  processmining:
    storage:
        postgresedb:
          size: '10Gi'
          resize_in_use_volumes: true
          # storageClass : ''
          replicas: 1
          ha_replication_enabled: false
          ha_replication_update_interval: 30
          max_sync_replicas: 0
          min_sync_replicas: 0
          switchover_delay: 40000000
          log_level: 'info'
          start_delay: 30
          stop_delay: 30
          resources:
            requests:
              memory: '4Gi'
              cpu: '1'
            limits:
              memory: '8Gi'
              cpu: '2'
          parameters:
            archive_mode: 'on'
            archive_timeout: '5min'
            dynamic_shared_memory_type: 'posix'
            log_destination: 'csvlog'
            log_directory: '/controller/log'
            log_rotation_age: '0'
            log_rotation_size: '0'
            log_truncate_on_rotation: 'false'
            logging_collector: 'on'
            max_parallel_workers: '32'
            max_prepared_transactions: '1000'
            work_mem: '40MB'
            shared_buffers: '1GB'
            temp_buffers: '512MB'
            max_connections: '300'
            max_replication_slots: '32'
            max_worker_processes: '32'
            shared_memory_type: 'mmap'
            shared_preload_libraries: ""
            wal_keep_size: '512MB'
            wal_receiver_timeout: '5s'
            wal_sender_timeout: '5s'
Nota: se non si personalizza il CRD, i valori di postgresEDB rimangono predefiniti.

Crittografia dei dati

Quando viene adottato un database esterno per un ambiente di produzione, si raccomanda di applicare encryption at rest ai dati memorizzati. Il carico di lavoro viene quindi verificato quando è connesso con il database codificato.