Snowflake

Data Source Details

Use the following information when creating a data source for your Snowflake database:

  • The JDBC URL must be in the following format:

    jdbc:snowflake://<db_account>.snowflakecomputing.com:<db_port>?warehouse=<db_warehouse>&db=<db_name>

  • Basic authentication is supported. Specify user and password.

  • If you use native authentication inside your cloud platform (for example, Google Cloud Platform, Amazon Web Services, or Microsoft Azure), you do not have to provide the username and password.

GoodData Cloud Native (GoodData.CN) uses the driver with version 3.12.9.

Unsupported Features

GoodData.CN does not support the following features:

  • Period-over-period combination with years and weeks is not available.
    • Example: Metric filtered by this week compared with the same metric filtered by the week in previous year.

Performance Tips

If your database holds a large amount of data, consider the following practices:

  • Denormalize the relational data model of your database.

    This helps avoid large JOIN operations. Because Snowflake is a columnar database, queries read only the required columns and each column is compressed separately.

  • Spin up databases/instances based on user needs.

    • Users with similar needs populate data into caches that are likely reused.
    • Isolate data transformation operations running in your database from the analytics generated by GoodData.CN.
  • Set up proper auto-scaling based on users needs.

  • Utilize materialized views

    • Changes to underlying tables are propagated to related materialized views, they are always consistent
    • Materialize results of JOINs / aggregations which are executed very often as a result of execution of dashboards / insights from GoodData.CN
      • Map materialized views and their columns to datasets and LDM and utilize them in metrics / insights / dashboards

Permitted parameters

  • application
  • db
  • loginTimeout
  • networkTimeout
  • ocspFailOpen
  • passcode
  • passcodeInPassword
  • proxyHost
  • proxyPassword
  • proxyPort
  • queryTimeout
  • role
  • stringsQuotedForColumnDef
  • token
  • warehouse