- Creating a connection to your database
- Adding tables as Evidence “sources”
- Snowflake
- BigQuery
- Postgres
- Redshift
- MotherDuck
- Iceberg
- Athena
- Buckets containing Parquet files (S3, GCS, Azure, R2 etc)
- CSV upload
- Parquet upload
Create a connection
(For databases only)- On the sources page, click New Connection.
- Enter the connection details for your database. Note that you require one connection per schema at this time.
- Click Test to verify the connection is configured correctly.
- Click Save.
IP Whitelisting
If your database requires IP whitelisting, add the Evidence Studio IP addresses:Import a data source
- On the sources page, click New Source.
- Select the connection you just created.
- Choose from the tables in the connection.
- (Optional) Rename the source - this is used to reference the source in your reports.
- Click Save.
Import a file
- On the sources page, click Upload File.
- You can upload CSV, Parquet, and JSONL files.
- Your file will be automatically imported, and named using a
snake_case
version of the filename.
Updating data
You can only update uploaded files by reuploading them.
Manual refresh
- On the sources page, click the
...
menu on the right of the source and select Publish.
Scheduled refresh
- In the sources page, click the
...
menu on the right of the source and select Schedule. - Choose a refresh interval.
- Current refresh intervals are: 5 mins, 15 mins, 1 hour, 1 day, 1 week. Contact Evidence for custom intervals.
- Click Save.
Why extract?
Evidence extracts data from your database to use in reports. This has the following benefits:- Performance: Extracted data is very fast to query, as it uses a specialized storage format (Parquet), and an optimzed query engine based on ClickHouse.
- Cross-database: You can join data from different databases, or even join to data in flat files like CSV and Parquet.
- Control: You can control when data is extracted, and the frequency of the extraction.
- DB Load: When users access your reports, your database is not queried, only refreshing data causes queries to be run against your database.