Introducing Multiple Snowflake Configurations per ThoughtSpot Connection

Organizations leveraging cloud data warehouses like Snowflake The AI Data Cloud require the ability to efficiently manage and optimize their data connections. Without this, data teams will face challenges with various use cases, such as workload distribution and environment testing. 

Recognizing the need for greater flexibility and control over data connections, ThoughtSpot developed a powerful new feature: Multiple Configurations per Connection. Below, we’ll outline some of the challenges with the legacy connection object and discuss the new ThoughtSpot solution so you can feel confident implementing Multiple Configurations per Connection with your own ThoughtSpot + Snowflake environment. 

Why Multiple Configurations per Connection matters

Previously, data professionals such as administrators, data managers, and data engineers responsible for creating and managing connections with their Snowflake instance experienced some challenges performing various use cases. Here’s how that changes with Multiple Configurations per Connection:

1. Workload distribution

Previously, users were limited to using a single Snowflake warehouse for all ThoughtSpot queries and search indexing. This meant that all computational tasks, regardless of their nature or resource demands, were funneled through a single configuration, leading to potential bottlenecks and suboptimal performance. To overcome this, Snowflake customers had to duplicate Liveboards and configure multiple connections to distribute workloads across different computing configurations. With the new feature, administrators can allocate separate Snowflake Warehouses to different ThoughtSpot users or groups, streamlining workload distribution and making end-users lives easier.

2. Search indexing optimization

Customers often need a separate connection configuration for search indexing to balance the computing load effectively and avoid performance degradation such as increased latency in data processing and retrieval. The previous setup utilized the same connection for both querying and indexing, providing a unified approach. The enhanced feature allows for distinct configurations for search indexing and other background processes, improving control and performance.

3. Cost tracking and chargeback

Snowflake bills at the warehouse level, making it challenging for clients to isolate credit spend. Assigning warehouses per user or group facilitates cost tracking and chargeback to internal departments, a common request from customers. This granular mechanism helps measure adoption and resource usage more accurately.

4. Environment testing

Enterprise customers with separate development and production instances struggled to test liveboards against different environments. The new feature enables easy configuration of different environments (dev, QA, prod) on a single connection, eliminating the need for manual updates or duplications.

5. Multi-tenancy and multi-org implementations

In multi-org use cases, administrators lacked the option to set different connection configurations for each org, forcing them to duplicate connections and table selections. The enhanced feature allows for distinct connection parameters, including different schemas or databases, simplifying multi-org implementations.

The solution

To address these challenges, ThoughtSpot's enhanced Connection object introduces several key improvements:

1. Separate Snowflake warehouses: Allocate different warehouses to ThoughtSpot users or groups, distributing the workload efficiently.

2. Distinct configurations for indexing: Set separate connection configurations for background processes like indexing and querying.

3. Environment configuration: Configure different environments (dev, QA, prod) on a single connection for seamless testing.

4. Multi-tenancy support: Configure different connection parameters for each org, eliminating the need for duplicate connections.

How to get started

The setup for Multiple Configurations Per Connection is straightforward, making it easy for Snowflake and ThoughtSpot customers to take advantage of this opportunity. Here are a few things to note before you begin to ensure you have the best experience:

  • Be sure to update your Thoughtspot instance to the most up-to-date version.

  • Follow the instructions on Adding a Snowflake Connection.

  • Configure your warehouse to ensure your ThoughtSpot IP address is accessible from Snowflake, and be sure your Snowflake tables are visible to this role. 

When you create your Snowflake connection, you enter a default configuration. Leveraging this new feature, you can create additional configurations for your Snowflake connection. Here’s how it works:

1. Select Data in the top navigation bar.

2. Open the Connections tab in the left navigation bar.

3. In the list of connections, find the connection where you want to add a configuration.

4. In the far right of your Connection page, click the ellipsis to open the More menu, and select Create configuration.

ThoughtSpot product screenshot of Connections page

5. In the Add configuration details window, specify the following:

  • Authentication type

  • User

  • Password

  • Role

  • Warehouse

  • (Optional) Advanced Config

ThoughtSpot product screenshot showing configuration details window

6. Click Continue. Depending on the authentication type, you may have to sign into your Snowflake account.

7. If the Snowflake sign-in screen appears, sign in to Snowflake. Then, when a message appears asking you to allow your connection access to your Snowflake account, click Allow. The connection is then validated by ThoughtSpot, and the Describe your configuration window appears.

ThoughtSpot product screenshot showing configurations window

8. Create a name and optional description of your configuration, and click Continue.

ThoughtSpot product screenshot showing configuration window

9. In the Select policy type window, select from the following options:

  • No Policy: Choose this if you want to save the configuration, but you do not want to apply the policy to your connection at this time.

  • Users and groups: Choose this if you want to specify users and groups who can use the connection.

  • Processes: Choose this if you want to use this configuration for search indexing. Make sure Sage indexing is checked.

ThoughtSpot product screenshot showing configuration window

10. Click Continue. Your additional configuration is complete and appears below your connection’s name on the Connections page.

Unlocking optimal performance and efficiency

The Multiple Configurations per Connection feature represents a significant enhancement in ThoughtSpot's data connection capabilities. By addressing key challenges and offering greater flexibility, it empowers organizations to optimize their data usage, improve performance, and streamline operations. 

With this update, ThoughtSpot empowers organizations to optimize their data environments, making it easier to handle complex workloads and track costs accurately. This advancement represents a significant step forward in providing our customers with the tools they need to drive insights, efficiency, and innovation. If you’re new to ThoughtSpot, learn more about our partnership with Snowflake, and schedule a live demo today!