Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Connection to Snowflake is provided by our component - Storage Management (SM). 

...

Snowflake Internal Stage is a cloud computing storage service offered by Snowflake. A stage in Snowflake is an intermediate space where you can upload the files so that you can use the COPY command to load or unload tables. User type Internal Stage is used for SAP communication and the in SM it is covered by referenced binary storage.

During SAP-Snowflake communication,  Snowflake the Snowflake Internal Stage is used as temporary storage when transferring data from SAP to Snowflake (see the description of the DML sequence diagram below).

...

Communication with Snowflake Internal Stage is provided via Java connector (extended JDBC API form upload/download streams).

Snowflake Database (DB)

Snowflake is an analytic data warehouse provided as Software-as-a-Service (SaaS). Snowflake provides a data warehouse that is faster, easier to use, and far more flexible than traditional data warehouse offerings. Snowflake is a cloud data platform with a data warehouse that supports the most common standardized version of SQL (ANSI) for powerful relational database queries.

For purpose of data transfer to Snowflake DB, also Snowflake Internal Stage storage is used. Firstly, the data is moved in the form of a .csv file to Snowflake Internal Stage, and afterward, the engine loads the transferred data. 

High-level Communication Diagram

Communication with Snowflake

When communicating with the Snowflake DB engine, a Java connector (implemented by SNP) is used. This connector wraps SQL queries using JDBC jars and forwards them to the engine.

Drawio
simple0
zoom1
inComment0
custContentId2376990797
pageId2376826928
diagramDisplayNamesap-snowflake-high-level-schema
lbox1
contentVer2
revision3
baseUrlhttps://datavard.atlassian.net/wiki
diagramNamesap-hadoop-high-level-schema
pCenter0
aspectundefined
width700.5
linksundefined
tbstyleundefined
height662

Div
stylepage-break-after:always;


Detailed Communication Diagram for Snowflake (batch load)

Drawio
729.9999999999999
simple0
zoom1
inComment0
custContentId2852061246
pageId2696773639
diagramDisplayNamesnowflake_detailed_diagram.xml
lbox1
contentVer13
revision24
baseUrlhttps://datavard.atlassian.net/wiki
diagramNames3_redshift_detailed_diagram.xml
pCenter0
aspectundefined
width796795.93857142857133433333333332
links
tbstyle
height730


Detailed Communication Diagram for Snowpipe streaming

Drawio
mVer2
simple0
zoom1
inComment0
custContentId4568809473
pageId2696773639
diagramDisplayNameSnowflake_streaming_communication_schema.drawio
lbox1
contentVer2
revision2
baseUrlhttps://datavard.atlassian.net/wiki
diagramNameSnowflake_streaming_communication_schema.drawio
pCenter0
width795.7600000000002
links
tbstyle
height710

Authentication

Java JDBC Service uses dedicated DB user credentials. The snowflake Snowflake user by default has also created Snowflake Internal Stage used as binary storage. The user's DB credentials may have special grants on the DB level for accessing dedicated schemes, read/write dedicated objects, and so on. Java JDBC Service is responsible for handling security when communicating with the Snowflake ecosystem.

...