Databases
Overview
When you add the database integration, the following components are autogenerated:
- Query (enricher)
- Lookup (enricher)
- SQL (source)
- Table (source) (in some cases)
- Table (source) (in some cases)
In the base case only enricher component is generated when the database integration is added.
If catalog support is available (in Flink's understanding of 'catalog support') or Nussknacker has data type mappings between the database data types and internal Nussknacker data types, a (Flink) Table (API based) source and sink components will also be generated. Under the hood, Nussknacker will use Flink Table API; hence the source / sink component name will be your-integration-name Table.
Additionally, a SQL Source component will be created; this component allows to read only a subset of records of a table; a SQL SELECT statement is used to define the selection criteria.
If catalog support is not available you can define Table integration yourself and provide the data mappings.
Talk to us if you want the data type mappings for your system to be added to Nussknacker.
- Only the One-Way SSL is supported for now.
- Only the latest drivers versions are supported.
- Once the database integration definition is created, at minimum, a SQL enricher component will be added to the Component Palette
Contact us for more information about security, drivers versions, etc.
Integrations
Clickhouse
In order to configure MariaDB enricher, you need to provide a username, password and connection URL. Sample connection URL:
jdbc:clickhouse://your_db_host:your_db_port/your-database-name
You can also provide additional connection properties if needed, depending on your database configuration.
MariaDB
In order to configure MariaDB enricher, you need to provide a username, password and connection URL. Sample connection URL:
jdbc:mariadb://your_db_host:your_db_port/your-database-name
You can also provide additional connection properties if needed, depending on your database configuration.
MySQL
In order to configure MySQL enricher, you need to provide a username, password and connection URL. Sample connection URL:
jdbc:mysql://your_db_host:your_db_port/your-database-name?ssl-mode=REQUIRED
You can also provide additional connection properties if needed, depending on your database configuration.
Oracle
In order to configure Oracle database enricher, you need to provide a username, password and connection URL.
You also need to ensure that Mutual TLS authentication is disabled.
Sample connection URL:
jdbc:oracle:thin:@(description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1521)(host=your_db-host))(connect_data=(service_name=your_service_names))(security=(ssl_server_dn_match=yes)))
You can also provide additional connection properties if needed, depending on your database configuration.
PostgreSQL
In order to configure Postgres enricher, you need to provide a username, password and connection URL. Sample connection URL:
jdbc:postgresql://your_db_host:your_db_port/your-database-name
You can also provide additional connection properties if needed, depending on your database configuration.
Redshift
In order to configure Redshift enricher, you need to provide a username, password and connection URL. Sample connection URL:
jdbc:redshift://your-redshift-cluster-name.your-region.redshift.amazonaws.com:5439/your-database-name
You can also provide additional connection properties if needed, depending on your database configuration.
Snowflake
The Snowflake JDBC connection URL requires several parameters. Obtaining these parameters is described in: Blog post.
Additionally you should ensure that:
- Your user role has grant to the target
warehouse. - Your user has set the target
warehouseas a default one.