Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

JpaMetaService type “database" is deprecated but still supported. For new projects, "databasev2" is recommended, switching from the old version to v2 requires a migration using a custom sql script.

Configurationsparameter in repository.cfg

<repoName>.metaservice.type=databasev2
<repoName>.metaservice.databasev2.driver=
<repoName>.metaservice.databasev2.url=
<repoName>.metaservice.databasev2.user=
<repoName>.metaservice.databasev2.password=
#<repoName>.metaservice.databasev2.read-connections.max= #default: 32, not after 2.7.0
#<repoName>.metaservice.databasev2.read-connections.min= #default: 32, not after 2.7.0
#<repoName>.metaservice.databasev2.read-connections.shared= #default: false, not after 2.7.0
#<repoName>.metaservice.databasev2.write-connections.max= #default: 32, not after 2.7.0
#<repoName>.metaservice.databasev2.write-connections.min= #default: 32, not after 2.7.0
#<repoName>.metaservice.databasev2.cache-statements= #default: false, not after 2.7.0
#<repoName>.metaservice.databasev2.cache-statements.size= #default: 50, not after 2.7.0
#<repoName>.metaservice.databasev2.minimumIdle= #default: 10 minimumPoolSize
#<repoName>.metaservice.databasev2.maximumPoolSize= #default: 10
#<repoName>.metaservice.databasev2.connectionTimeout= #default: 30000 time after when a request for connection lease will time out
#<repoName>.metaservice.databasev2.idleTimeout= #default: 600000 time after when idle connections will be closed
#<repoName>.metaservice.databasev2.keepaliveTime= #default: 0
#<repoName>.metaservice.databasev2.maxLifetime= #default: 1800000
#<repoName>.metaservice.databasev2.scripts= #default: classpath:sql/metav2/migration/h2|sqlserver|oracle, dependening on database provider , 3.0.0+
#<repoName>.metaservice.databasev2.transactionIsolation= #default: TRANSACTION_READ_COMMITTED, 3.4.3+

As of version 2.7.0 we switched from EclipseLink to Hibernate, therefor some parameters have changed.

As of version 3.4.0 the connection pool handling was improved. It allows using a smaller number of connections, i.e. changing the parameter minimumIdle to 2 should lower the utilization of the database without significant impact on overall performance. (Local tests with 120 parallel threads and min and max set to 1 worked without error at a duration for a write with 200ms)

H2

<repoName>.metaservice.databasev2.driver=org.h2.Driver
<repoName>.metaservice.databasev2.url=jdbc:h2:C:/h2db.db;FILE_LOCK=FS;TRACE_LEVEL_SYSTEM_OUT=0

Driver is included.

Oracle

<repoName>.metaservice.databasev2.driver=oracle.jdbc.OracleDriver
<repoName>.metaservice.databasev2.url=jdbc:oracle:thin:@localhost:49161:xe

Driver is not in the delivery (ab 2.3.0), download with:

https://www.oracle.com/de/database/technologies/appdev/jdbc-downloads.html

see loader.path in Reference of application-wide parameters for loading external libraries

MSSQL

Optimal performance can only be reached when the connection string contains sendStringParametersAsUnicode=false . Is this parameter missing the created indexes cannot be used and queries will be significant slower!

On Prem

<repoName>.metaservice.databasev2.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
<repoName>.metaservice.databasev2.url=jdbc:sqlserver://localhost:1433;databaseName=CONTENTSERVER;sendStringParametersAsUnicode=false
<repoName>.metaservice.databasev2.transactionIsolation=TRANSACTION_READ_UNCOMMITTED

Depending on your configuration and version of MS SQL Server you need additional properties in the connection string:

  • encrypt=true;

  • trustServerCertificate=true;

<repoName>.metaservice.databasev2.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
<repoName>.metaservice.databasev2.url=jdbc:sqlserver://localhost:1433;databaseName=CONTENTSERVER;encrypt=true;trustServerCertificate=true;sendStringParametersAsUnicode=false

Azure SQL Server

<repoName>.metaservice.databasev2.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
<repoName>.metaservice.databasev2.url=jdbc:sqlserver://<servername>.database.windows.net:1433;database=<dbname>;user=<sqladminuser>@<servername>;password=<sqladminpassword>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
  • <servername>: enter resource group, take sql server instance name

  • <database>: enter resource group, click sql server: take db name from overview page

  • <user> : the sql server admin has to be the tia core app id.

    • tia core app id: enter resource group, click your container app, click left Settings/Identity, enable in tab system assigned Status on. take Object (principal) id.

    • select as sql server admin

      • enter resource group, enter sql server, Settings/MS Entra ID, set admin, in search box put tia core app id, select the app via checkbox, hit select, press save

Azure AQL Server with ManagedIdentity

<repoName>.metaservice.databasev2.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
<repoName>.metaservice.databasev2.url=jdbc:sqlserver://<servername>.database.windows.net:1433;database=<dbname>;authentication=ActiveDirectoryMSI;encrypt=true;

Driver is included from Version 2.3.0, for older Version driver can be found here:
https://docs.microsoft.com/de-de/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16

Objectstorage in databasesystem (Version 1):

Overy object produces this number of lines, space requirement depends on database system, configuration and content:

  • 1 line in ITEMS

  • 5 lines in ITEMFIELDS

Objectstorage in databasesystem (Version 2):

Overy object produces this number of lines, space requirement depends on database system, configuration and content:

  • 1 line in ITEMS

  • 3 lines in ITEMFIELDS

  • No labels