(SM-2102) Snowflake Storage Setup

This page provides general guidelines on how to set up Snowflake Storage to work with Datavard Storage Management.

1. General prerequisites

1.1 Open Ports

In order to enable communication of SAP systems with Snowflake host, the following port numbers should be reachable from the SAP system:

Port

Type

Snowflake Host

Port

Type

Snowflake Host

443

https

<account name>.<region>.<platform>.snowflakecomputing.com

1.2 Warehouse and Database

Snowflake warehouse and database must already exist.

1.3 Snowflake user

Snowflake user with ACCOUNTADMIN role must be created.
The reason is that Storage Management in some cases provides table metrics and Snowflake requires an ACCOUNTADMIN role in order to access them. Please check TABLE_STORAGE_METRICS for more information.

2. OS prerequisites (On SAP host)

This group of requirements relates to the operating systems underlying the SAP system with all its application servers. Datavard products (e.g. Datavard Glue, OutBoard DataTiering) have been developed and tested on the SUSE Linux environment and Windows Server 2012. However, by design, they are not limited by the choice of an operating system, if the requirements listed in this guide are met.

2.1 OS directories

Datavard connector uses a directory dedicated to its configuration files:

$ ls -ld /sapmnt/<SID>/global/security/dvd_conn

rwx------ 2 dvqadm sapsys 4096 --- /sapmnt/<SID>/global/security/dvd_conn

The folder is used to store drivers and is shared among SAP application servers. Set the ownership and permissions appropriately to <sid>adm.

2.2 JDBC Drivers

JDBC protocol is used to connect to Snowflake. Snowflake JDBC driver must be manually stored on the operating system and be accessible to the Datavard connector. Download Snowflake JDBC driver.

We recommend storing the drivers in a folder within the connector directory, organized in sub-folders to avoid possible conflicts.

$ ls -ld /sapmnt/<SID>/global/security/dvd_conn/*

drwxr-xr-x 2 dvqadm sapsys 4096 --- /sapmnt/<SID>/global/security/dvd_conn/snowflake

 

$ ls -l /sapmnt/<SID>/global/security/dvd_conn/snowflake

drwxr-xr-x 2 dvqadm sapsys 4096 --- /sapmnt/<SID>/global/security/dvd_conn/snowflake/snowflake-jdbc-3.12.9.jar

3. SAP configuration

3.1 Datavard JAVA connector

Java connector is a critical middle-ware component. Please follow the steps in this guide (SM-2102) Java Connector Setup to set it up/upgrade to a new version before you continue. 

The Java runtime environment is narrowed per Snowflake JDBC driver requirement and must be installed in a 64-bit environment and requires Java 1.8 (or higher).

3.2 Storage Management setup

The final step in SAP & Snowflake connectivity is the creation of two storages in transaction /DVD/SM_SETUP - Snowflake storage which represents the table level of Snowflake infrastructure and the flat Snowflake stage which handles temporary files.

3.2.1 Snowflake Stage (SNOW_STAGE)

It is binary storage pointing to the Internal Stage of the Snowflake user. For loading/unloading data uses extended functionality of Snowflake JDBC driver.

Storage ID - logical name of the storage connection
Storage type - SNOW_STAGE (Snowflake internal stage)
Full name of Snowflake account - <account name>.<region>.<platform> more information in Snowflake account name doc.
User - Snowflake user
Password - user password
Password for JDBC Connection is Hashed - indicator whether the password is hashed (you can create a hash of the password by using report /DVD/XOR_GEN)
Java connector RFC - TCP/IP RFC destination used for communication with Datavard Java connector
Driver path - Snowflake driver directory path

3.2.2 Snowflake Storage (SNOWFLAKE)

It is transparent storage pointing to Snowflake Database. For sending SQL commands data uses Snowflake JDBC driver.

Storage ID - logical name of the storage connection
Storage type - SNOWFLAKE (Snowflake transparent storage)
Full name of Snowflake account - <account name>.<region>.<platform> more information in Snowflake account name doc.
Warehouse - name of an existing warehouse in Snowflake
Database - name of an existing database in Snowflake
Database schema - name of an existing database schema in Snowflake
User - Snowflake user
Password - user password
Password for JDBC Connection is Hashed - indicator whether the password is hashed (you can create a hash of the password by using report /DVD/XOR_GEN)
Referenced storage - Snowflake stage storage used for staging temporary files while reading from/writing to Snowflake
Driver path - Snowflake driver directory path
Java connector RFC - TCP/IP RFC destination used for communication with Datavard Java connector