Exploring data transfer cost

Snowflake does not charge a data ingress fee to bring data into your account, but does charge a per-byte fee to transfer data from a Snowflake account into another region on the same cloud platform or into a different cloud platform.

This topic describes how to gain insight into historical data transfer costs using Snowsight, or by writing queries against views in the ACCOUNT_USAGE and ORGANIZATION_USAGE schemas. Snowsight allows you to quickly and easily obtain information about cost from a visual dashboard. Queries against the usage views allow you to drill down into cost data and can help generate custom reports and dashboards.

To gain a better understanding of how data transfer fees accrue, see Understanding data transfer cost.

Viewing the data transfer history

Users can use Snowsight to view the amount of data transferred from your Snowflake account to a different cloud provider or region within a specified date range. The unit of measure is bytes.

To explore data transfer costs:

  1. Sign in to Snowsight.

  2. Switch to the ACCOUNTADMIN role. If you are not the account administrator, switch to a role with access to cost and usage data.

  3. Navigate to Admin » Cost Management.

  4. Select a warehouse to use to view the usage data. Snowflake recommends using an XS warehouse for this purpose.

  5. Select Consumption.

  6. Select Data Transfer from the Usage Type drop-down.

Note

If a user has the ACCOUNTADMIN role, but does not have the ORGADMIN role, they can only view costs for the current account. The Account filter that would allow them to switch to a different account does not appear.

Querying data for data transfer cost

Snowflake provides two schemas, ORGANIZATION_USAGE and ACCOUNT_USAGE, that contain data related to usage and cost. The ORGANIZATION_USAGE schema provides cost information for all of the accounts in the organization while the ACCOUNT_USAGE schema provides similar information for a single account. Views in these schemas provide granular, analytics-ready usage data to build custom reports or dashboards.

Most views in the ORGANIZATION_USAGE and ACCOUNT_USAGE schemas contain the cost of data transfers in terms of the volume of data transferred. To view cost in currency rather than volume, write queries against the USAGE_IN_CURRENCY_DAILY View. This view converts the volume of data transferred into cost in currency using the daily price of transferring a TB.

The following views provide usage and cost information related to transferring data from your Snowflake account to a different cloud provider or region.

View

Description

Schema

DATA_TRANSFER_DAILY_HISTORY

Number of bytes transferred on a given day. For more detailed data, use the DATA_TRANSFER_HISTORY view instead.

ORGANIZATION_USAGE

DATA_TRANSFER_HISTORY

Number of bytes transferred, include the source cloud and region, target cloud and region, and type of transfer.

ORGANIZATION_USAGE ACCOUNT_USAGE

DATABASE_REPLICATION_USAGE_HISTORY

Number of bytes transferred and credit consumed during database replication.

ACCOUNT_USAGE

LISTING_AUTO_FULFILLMENT_ USAGE_HISTORY

Estimated usage associated with fulfilling data products to other regions by using Cross-Cloud Auto-Fulfillment. Refer to the SERVICE_TYPE of DATA_TRANSFER.

ORGANIZATION_USAGE

REPLICATION_USAGE_HISTORY

Number of bytes transferred and credits consumed during database replication. If possible, use the DATABASE_REPLICATION_USAGE_HISTORY view instead.

ORGANIZATION_USAGE ACCOUNT_USAGE

REPLICATION_GROUP_USAGE_HISTORY

Number of bytes transferred and credits consumed during replication for a specific replication group.

ORGANIZATION_USAGE ACCOUNT_USAGE

USAGE_IN_CURRENCY_DAILY

Daily data transfer in TB along with the cost of that usage in the organization’s currency.

ORGANIZATION_USAGE

Note

The views and table functions of the Snowflake Information Schema also provide usage data related to cost. Though the ACCOUNT_USAGE schema is preferred, the Information Schema can be faster in some circumstances.