Types of Tables
Benchling’s Warehouse Tables come in 2 types:
$rawis a raw table (ex. “biotechtx.entity$raw")
Not suffixed with
$rawis 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
_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_entityonly 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.