Create Acceleration

LLM-friendly URL
POST
https://api.luzmo.com/0.1.0/acceleration
API call form
Examples

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.

Request parametersResponse schema
id UUID

Unique identifier for the acceleration.

load_type STRING

Type of load for the acceleration.

data_storage_strategy STRING

Strategy for storing data in the acceleration.

delta_sync_schema_change_strategy STRING

Strategy for handling schema changes during delta sync.

primary_key_column_ids ARRAY[STRING]

UUIDs of the columns that contain the primary key.

value UUID
created_at_column_id UUID

UUID of the column that contains the creation timestamp.

updated_at_column_id UUID

UUID of the column that contains the update timestamp.

deleted_at_column_id UUID

UUID of the column that contains the deletion timestamp.

full_sync_interval NUMBER

Perform a full sync every xth sync.

schedule OBJECT

Schedule response with execution status information.

started_at DATETIME
frequency_unit STRING
frequency_quantity NUMBER
last_execution_status STRING
completed_at DATETIME
scheduled_at DATETIME
active BOOLEAN
last_synced_at DATETIME

When the acceleration was last synced.

last_full_sync_at DATETIME

When the acceleration was last fully synced.

last_storage_size NUMBER

Size of the storage in bytes.

is_out_of_sync_email_sent BOOLEAN

Whether an out-of-sync email has been sent.

data_outdated_at DATETIME

When the data became outdated.

current_sync_count NUMBER

Current sync count.

trigger_full_sync BOOLEAN

Whether to trigger a full sync.

delta_sync_max_sync_period NUMBER

Maximum time period of data to sync during 1 delta sync step, in seconds. This can be used for very large sets to incrementally load data even during the initial load phase.

delta_sync_initial_load_date DATETIME

Date to start the delta sync. This should be smaller than or equal to the earliest created_at/updated_at/deleted_at date in the dataset in order to ensure data consistency. This can be used for very large sets to incrementally load data even during the initial load phase.

Can be executed by:
Logged-in User
Can be associated to:
Securable
Did this page help you?
Yes No
Language
Shell
Node
Java
.NET
Python
PHP
Install
dotnet add package LuzmoSDK --version 1.0.3

This will create a full load acceleration for a dataset.

Example Response
200
400
500
{
  "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"
}