Types of Tables
Benchling’s Warehouse Tables come in 2 types:
-
Suffixed with
$raw
is a raw table (ex. “biotechtx.entity$raw") -
Not suffixed with
$raw
is a default view or user view of a table (ex. “biotechtx.entity")
The raw table contains all of the rows and columns.The default view contains a subset of those rows and columns. It filters out information that the typical user wouldn’t want to see. It filters out the system metadata columns _pkey
and _sync_key
. It typically filters out archived or unreviewed rows. For example:
-
The default view of result tables only contains result rows that are not archived, whose entries are reviewed, and are not invalid (via the Cell-Level Validation feature). Note the default view is a Postgres view over the raw table.
-
The default view of
registry_entity
only contains registered entity rows that are not archived.
When to Use Raw Tables
Benchling recommends using raw tables for following cases:
-
If you want an un-filtered view like result tables containing unreviewed data.
-
If you want to view not only un-archived but also archived entities.
-
If you want to filter by Registry Validation feature. Use the
validation_status = 'PASSED'
filter in this case. -
As the filter-logic in the default views vary from table to table, it is recommended to query $raw tables and explicitly apply filters as needed.
-
When results uploaded via the API are not associated with a Notebook Entry, these results cannot be reviewed per Benchling's Notebook Entry review process. Therefore, these API-created results will only live in the $raw tables in Benchling's data warehouse.