When needed, Hippobyte automatically evolves your data warehouse schema definitions. Hippobyte performs DDL statements against your warehouse to efficiently structure databases, tables, views, columns, and indexes.
DDL refers to “Data Definition Language”, a subset of SQL statements that change the structure of the database schema in some way, typically by creating, deleting, or modifying schema objects such as databases, tables, and views.
For each of your destination connectors, we create a schema/database called hbmetadata_ that is used to house a migrations audit table, and back-up tables.
The migrations table allows you to see DDL changes to tables managed by Hippobyte.
Understanding the migrations table.
Column Name | Type | Description |
---|---|---|
id | Big Integer | Unique ID for each migration |
object_id | UUID | ID of a Hippobyte collection |
statebeforemigration | Text | Location of table prior the performing a migration, a new table is notated as big.bang, subsequent entries refer to back-up tables. |
stateaftermigration | Text | Refers to location of table immediately after the time of migration. Latest record refers to current live table. |
created_at | Timestamp | Timestamp of migration |
As a responsible actor within your database ecosystem, the Hippobyte performs back-ups all tables prior to running DDL statement against your tables. All backed-up tables are stored within the hbmetadata_ schema/database and are referenced within the migrations table.
Back-up tables are prefixed with snap followed by a random string of characters.
Table back-ups are retained for a period of 7 days, older back-up are automatically removed. Please contact us to explore options to change these settings.
The Hippobyte platform routinely creates temporary tables within the hbmetadata_ schema/database to keep track intermediate schema evolution changes.
Temporary tables are prefixed with temp followed by a random string of characters.
Temporary tables are cleaned-up automatically, but may persist in the _hb_metadata_ schema/database for hours or days.