Schema:

ACCOUNT_USAGE

BLOCK_STORAGE_HISTORY view¶

Use the BLOCK_STORAGE_HISTORY view in the ACCOUNT_USAGE schema to query the average daily block storage and snapshot usage for an account within the last 365 days.

Columns¶

Column Name

Data Type

Description

USAGE_DATE

TIMESTAMP_LTZ

Date of this storage usage record. The date is based on the local time zone.

STORAGE_TYPE

TEXT

BLOCK_STORAGE or SNAPSHOT.

COMPUTE_POOL_NAME

TEXT

Name of the compute pool associated with this storage usage. For the SNAPSHOT storage type, this field is NULL.

BYTES

NUMBER

Average number of bytes used on the given date.

ADDITIONAL_IOPS

NUMBER

Average number of additional IOPS used on the given date.

ADDITIONAL_THROUGHPUT

NUMBER

Average amount of additional throughput (MiB per second) used on the given date.

Usage notes¶

  • Latency for the view can be up to 180 minutes (3 hours).

  • The view provides daily block storage and snapshot usage within the last 365 days (1 year) for an account.

  • Snapshots are not associated with compute pools; therefore, for snapshots the view has the NULL value in the COMPUTE_POOL_NAME column.

  • The BYTES column shows average usage of block storage volumes for a specific day, for a specific storage type, and for a specific compute pool (where appropriate) in the Snowflake account. For example, consider the following:

    • You use a 10 GiB block volume for 6 hours on 2024-02-01 for compute pool POOL_1. Using 10 GiB for 6 hours is equivalent to 2.5 GiB per day (10 GiB * 6/24 hours = 2.5 GiB per day = 2,684,354,560 bytes per day).

    • You use a 10 GiB block volume for 12 hours on 2024-02-01 for another compute pool POOL_2. Using 10 GiB for 12 hours is equivalent to 5 GiB per day (10 GiB * 12/24 hours = 5 GiB per day = 5,368,709,120 bytes per day).

    • You use a 20 GiB snapshot for 24 hours on 2024-02-01. Using 20 GiB for 24 hours is equivalent to 20 GiB per day = 21,474,836,480 bytes per day.

    Suppose that you query the BLOCK_STORAGE_HISTORY view:

    SELECT * FROM snowflake.account_usage.BLOCK_STORAGE_HISTORY
    
    Copy

    The query returns the following results:

    +-------------------------------+--------------------+-------------------------+----------------+-----------------------+-----------------------------+
    | USAGE_DATE                    | STORAGE_TYPE       | COMPUTE_POOL_NAME       |       BYTES    |       ADDITIONAL_IOPS |       ADDITIONAL_THROUGHPUT |
    |-------------------------------+--------------------+-------------------------+----------------|-----------------------|-----------------------------|
    | 2025-02-01 00:00:00.000 -0700 | BLOCK_STORAGE      | POOL_1                  | 2,684,354,560  | 250.000000000         | 25.000000000                |
    | 2025-02-01 00:00:00.000 -0700 | BLOCK_STORAGE      | POOL_2                  | 5,368,709,120  | 0.50000000            | 0.500000000                 |
    | 2025-02-01 00:00:00.000 -0700 | SNAPSHOT           | NULL                    | 21,474,836,480 | 0.000000000           | 0.000000000                 |
    +-------------------------------+--------------------+-------------------------+----------------+-----------------------+-----------------------------+
    
  • The additional IOPS (ADDITIONAL_IOPS) and throughput (ADDITIONAL_THROUGHPUT) values show the amount that your configured values exceed their default values. For example, on AWS, the block configuration default IOPS is 3,000, and the default throughput is 125 MiB/second. If you configure an AWS block device with 4,000 IOPS and 225 MiB/second throughput, the additional IOPS would be 1,000 (4,000 - 3,000), and the additional throughput would be 100 MiB/second (225 - 125).

    The following three examples illustrate how you can get this information from the BLOCK_STORAGE_HISTORY view. Suppose that your account is set up with the following:

    • Your account provisioned a 10 GiB block volume (as part of a service) with 1000 additional IOPS and 100 MiB/second additional throughput for 6 hours on 2025-02-01 for compute pool pool_1. If you query the view, you can get the following information from the additional_iops and additional_throughput columns:

      • Using 10 GiB for 6 hours equals 2.5 GiB per day (10 GiB x 6/24 hours = 2.5 GiB = 2,684,354,560 bytes per day).

      • Using 1000 additional IOPS for 6 hours equals 250 IOPS per day (1000 IOPS * 6/24 hours = 250 IOPS per day).

      • Using 100 additional MiB/second for 6 hours equals average 25 MiB/second per day (100 MiB * 6/24 hours = 25 MiB per day).

    • Your account is provisioned a 10 GiB block volume (as part of a service) with 1 additional IOPS and 1 MiB/s additional throughput for 12 hours on 2025-02-01 for compute pool POOL_2.

      • Using 10 GiB for 12 hours equals 5 GiB per day (10 GiB * 12/24 hours = 5 GiB per day = 5,368,709,120 bytes per day).

      • 1 additional IOPS used for 12 hours equals 0.5 IOPS per day (1 IOPS * 12/24 hours = 0.5 IOPS per day).

      • 1 additional MiB/second throughput MiB/s used for 12 hours equals 0.5 MiB/second per day (1 MiB * 12/24 hours = 0.5 MiB per day)

    • You use a 20 GiB snapshot for 24 hours on 2025-02-01. Using 20 GiB for 24 hours is equivalent to 20 GiB per day.

    When you query the view:

    SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.BLOCK_STORAGE_HISTORY;
    
    Copy

    The bytes, additional_iops, and additional_throughput columns in the query output provide this information:

    +-------------------------------+--------------------+-------------------------+----------------+-----------------------+-----------------------------+
    | USAGE_DATE                    | STORAGE_TYPE       | COMPUTE_POOL_NAME       |       BYTES    |       ADDITIONAL_IOPS |       ADDITIONAL_THROUGHPUT |
    |-------------------------------+--------------------+-------------------------+----------------|-----------------------|-----------------------------|
    | 2025-02-01 00:00:00.000 -0700 | BLOCK_STORAGE      | POOL_1                  | 2,684,354,560  | 250.000000000         | 25.000000000                |
    | 2025-02-01 00:00:00.000 -0700 | BLOCK_STORAGE      | POOL_2                  | 5,368,709,120  | 0.50000000            | 0.500000000                 |
    | 2025-02-01 00:00:00.000 -0700 | SNAPSHOT           | NULL                    | 21,474,836,480 | 0.000000000           | 0.000000000                 |
    +-------------------------------+--------------------+-------------------------+----------------+-----------------------+-----------------------------+
    

    Note

    • If you attach multiple block volumes to a compute pool, the view aggregates the usage and returns one row.

    • If there are multiple snapshots present on a given day, the view aggregates the usage and returns one row.

    • If you attach a single block volume to a compute pool and use it for three days, then the view returns three rows because the view reports daily usage for each compute pool having block volumes attached.

OSZAR »