Snowflake reader account overview
Snowflake reader account overview
The Snowflake reader account in the Coveo Administration Console is a page that grants you direct access to your organization data. You can explore and export your data, as well as create customized exports and materialized views. This feature is unique to every organization and can be accessed by multiple users. Members with the required privileges can manage access to the reader account by adding users and allowed IP addresses.
Coveo uses the Snowflake Database to store all UA data. Snowflake is powered by a data platform provided as SaaS and runs on cloud infrastructure. |
What’s a reader account?
To fully take advantage of the reader account, it’s essential to first understand the Snowflake environment. It’s comprised of databases and virtual warehouses. The database is a physical storage space in which the data is secured. The warehouse is the data processing unit that represents the computing power to query the data.
This diagram illustrates the architecture that encompasses the Snowflake reader account:
-
Coveo has one main Snowflake account with its own warehouse.
-
The main account receives events collected from Coveo-powered search hubs.
-
The reader account is linked to a single organization and provides a view of the organization data stored in the main account.
-
BI or ETL tools are integration solutions that facilitate data analysis and let us understand where the queries sent to the database are originating from.
-
The reader account is linked in the Raw Data (platform-ca | platform-eu | platform-au) page of the Coveo Administration Console.
-
The Coveo Administration Console reads the data from the database and generates UA reports.
The separate warehouse structure allows for optimal performance and also lets us understand from where the queries sent to the database originate. Coveo has one main Snowflake account with its own warehouse and generally one reader account linked to each organization. Each reader account has one warehouse that lets users perform their queries and connect different tools to their reader account.
The reader account is essentially a microcosm of the main account, since it provides a direct view of live data. The key difference is that a single reader account exclusively provides access to data for a specific organization. When you connect to the reader account, it gives you access to the live data from your organization.
Notes
|
Leading practices
-
We recommend using a business intelligence (BI) or ETL tool to facilitate your data retrieval. You can configure one of several integration solutions, such as Tableau™, Power BI™, or Informatica™.
Alternatively, you can use a native Snowflake connector, such as the Snowflake Python™ connector, though this is recommended for developers. For more information on connectors, see Snowflake’s documentation on data integration solutions and connectors.
-
In most cases, there’s no need to export data to a CSV file as you would with UA data exports. With the reader account, you can query all data tables, including those for:
-
Server-side events
-
Incoherent events
-
Page views
-
Search impressions
-
-
The reader account includes an empty
CUSTOMER
database with some write access, and can be used to create views with SQL queries. This helps in shaping the data to your preferences. Therefore, instead of using the SQL queries embedded within your BI or ETL tool, you can create these views in the reader account, and then pull them into the tool. This is especially useful if your tool doesn’t support custom SQL queries.NoteData schemas may evolve over time, with the addition of new columns to existing tables. To ensure that your queries remain accurate:
-
When you create a view, avoid selecting all columns with the
SELECT *
statement. Since views aren’t automatically updated when new columns are added, column-related errors may subsequently occur. Instead, we recommend that you only specify the columns you want to select, thereby ensuring that your view remains up to date. For more information on creating views, see Create View. -
Avoid using positional references (
$<col_position>
) in yourSELECT
statements because the position of columns may change if the table is modified. Instead, refer to columns by their names to make sure your queries remain accurate even if the table structure changes.
-
What’s next?
Learn more about the Snowflake reader account through the frequently asked questions before you set up your own reader account in the Coveo Administration Console.