Engine
Data Sources
Embedded

InMemory Data Source (EMBEDDED_INMEM)

This Data Source creates an in-memory embedded database that operates entirely within system memory.
Initially added to Kubling as an internal feature for conducting heavy testing without needing an external database instance, it has since proven useful based on user feedback. It can also be employed for various operational tasks such as storing instance-related information, caching data, managing temporary tables, or synchronizing scripts.

Configuration

Uses the Standard DB Data Source Configuration.

Sample configuration in VDB file:

- name: my_embedded
  dataSourceType: EMBEDDED_INMEM
  configObject:
    dataSourceName: my_embedded
    databaseName: my_embedded
    userName: sa
    token: sa
    maxConnectionPoolSize: 5
    minConnectionPoolSize: 1
    maxConnectionIdleMilliseconds: 7200000
    maxConnectionLifeTimeMilliseconds: 14400000
    ddlFilePaths:
    - /path/to/some.ddl
  translatorConfig: /path/to/some-config.yaml
  schema:
    type: PHYSICAL
    properties:
    importer.useCatalogName: "false"
    importer.useFullSchemaName: "false"
    importer.schemaName: PUBLIC

Kubling uses an adapted version of the popular H2 DB Engine, so please refer to their documentation (opens in a new tab) to get info about the supported grammar and other limitations.

💡

In this Data Source DDLs have a special meaning, since they're used to create the in-memory table schema, therefore they are not standard Kubling DDL.
After creation and setup, the Engine imports schemas automatically, so there is not option of controlling the FOREIGN tables manually like in other Data Sources.