Accelerations represent the configuration for Warped datasets stored by Luzmo in an analytics-optimized data warehouse (for more info, check out this Academy article . When you create an Acceleration, and associate with a dataset (Securable), a scheduled job will be created, which periodically loads data from the source into our system. This can happen in 3 ways:
Full Sync: The whole table is queried from the source, and replaced in Luzmo,
Delta Sync: After an initial full sync, only the changes since the last synchronization are fetched.
Full-Delta Sync: After an initial full sync, only the changes since the last synchronization are fetched, but for every Xth sync, a Full sync is performed.
. To create an Acceleration, you have to first decide what method you want the Acceleration to use when synchronizing. Full syncs are available for all datasets, while Delta or Full-Delta sync is only available to datasets that contain some special columns used to track data changes. Below you can find the different modes and columns required for them to work:
Insert: Only tracks insertions into the source dataset. Use for append-only tables. Required column:
Created at: Tracks when the row was inserted into the table
Insert-update: Tracks when rows were inserted or updated in the source dataset. Required columns:
Primary key column IDs: List of columns that can be used to uniquely identify a row (min. 1, max. 3)
Created at: Tracks when the row was inserted into the table
Updated at: Tracks when the row was updated in the table
Insert-update-delete: Tracks when rows were inserted, updated or deleted in the source dataset. Required columns:
Primary key column IDs: List of columns that can be used to uniquely identify a row (min. 1, max. 3)
Created at: Tracks when the row was inserted into the table
Updated at: Tracks when the row was updated in the table
Insert-update-delete: Tracks when a row was inserted, updated, or marked as deleted in the source table. Required columns:
Primary key column IDs: List of columns that can be used to uniquely identify a row (min. 1, max. 3)
Created at: Tracks when the row was inserted into the table
Updated at: Tracks when the row was updated in the table
Deleted at: Tracks when the row was marked as deleted from the table. Important: These deleted rows will still be present in Luzmo's data warehouse, since Warp stores the source table as is. You will still need to filter out the deleted rows yourself in your charts or data queries using a filter.
After creating an Acceleration, you can associate it with a dataset using the Associate Acceleration endpoint.
Useful tips:
If your source table operates with hard-deletes, but it doesn't happen too often, or it's not a big deal that these changes get reflected later on, you can use Full-Delta mode to bring the dataset back in sync periodically (ex. every weekend).
If your dataset uses an is_deleted column instead of a deleted timestamp, but the Updated at timestamp is updated when a row is marked as deleted, you can use the Insert-Update mode to track these soft-deletes without any issue.
Create a new Acceleration configuration.
npm install @luzmo/nodejs-sdk{
"id": "123e4567-e89b-12d3-a456-426614174000",
"load_type": "full",
"schedule": {
"frequency_unit": "day",
"frequency_quantity": 1
},
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-01-01T00:00:00.000Z"
}