Cost Management#

Using RelationalAI (RAI) on Snowflake incurs costs from both Snowflake and RAI itself. Snowflake costs are based on compute and storage resource usage, detailed in the Snowflake User Guide.

RAI costs include a surcharge for compute usage, primarily from RAI engines. There’s no surcharge for storage used by the application. Similar to Snowflake, RAI’s cloud architecture separates storage and compute usage, allowing for cost optimization based on specific needs.

Compute Resources#

Your account incurs compute costs from two main sources when the RAI Native App is installed:

  1. Central Service Compute Pool: Allocated to the RAI Service for RelationalAI service operations, without any RAI compute surcharge. The RAI service compute pool is created automatically by the create_service() procedure and dropped when the drop_service() procedure is called.

  2. Engine Compute Pools: Used by models to query RAI schemas. Like Snowflake virtual warehouses, engines can be independently created for workload isolation or scaling. These pools have a RAI cost surcharge based on their uptime. RAI Engines are managed through the RelationalAI CLI or provided SQL procedures.

The RAI Native App utilizes a Snowflake virtual warehouse for Snowflake interoperability. The RAI service warehouse is created automatically when the RAI service is created, and dropped automatically when the service is dropped. There’s no RAI cost surcharge for using the virtual warehouse. See the Snowflake documentation for more information on managing warehouses.

Storage Resources#

Storage usage costs follow Snowflake rates, without additional surcharges from RAI. The app stores indexes and model data in Snowflake stages, with storage being reclaimed as data is removed.

Monitoring Costs#

Costs are tied to Snowflake resource usage. Administrators can tag resources to track RelationalAI costs effectively, utilizing Snowflake’s cost management framework for visibility.