Power internal tools, in-app experiences, and more
View MariaDB's documentation.
This destination combines the analytical power of your data warehouse with the low-latency performance of a transactional database.
|Object Type||Description||Supported Sync Modes|
|Table||Sync data from any source to a MariaDB table||Upsert|
For more information about sync modes, refer to the sync modes docs.
Connect to MariaDB
Go to the Destinations overview page and click the Add destination button. Select MariaDB and click Continue.
Enter the following required fields into Hightouch:
- Host: The hostname or IP address of your MySQL.
- Port: The port number of your MySQL. The default is 3306, but yours may be different.
- Database: The name of the database in your MySQL.
- User: This can be your personal MySQL login or a dedicated user for Hightouch.
- Password: The password for the user specified above.
You can optionally create or select a previously configured tunnel or upload a
.pem CA certificate.
Once you've set up your MariaDB destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the MariaDB destination you want to sync to.
Select the existing table in MariaDB you want to sync to.
You can match source rows to rows in MariaDB on any column as long as it is a primary key or unique key.
Select which source columns you want to sync to your MariaDB table columns. Hightouch automatically pulls the columns from your table to make them available for you to map.
When syncing to binary destination fields, Hightouch assumes the source column values to be base64 strings. If they aren't, you can use template mapping to cast them if needed.
Upsert query optimization
You can choose to use the
LOAD DATA statement in the upsert query during your sync. This option loads data from a text file into your database, which can be up to twenty times faster than the default
INSERT INTO query Hightouch uses.
If you enable the
LOAD DATA option, Hightouch replaces databases rows with the mapped source row, if it exists. This means that if any MariaDB fields aren't mapped in Hightouch they receive
For Hightouch to successfully sync with the
LOAD DATA option, you need to enable the
local_infile system variable.
When rows no longer shows up from your model's query results, you can configure the sync to Do nothing or Delete those rows from the MariaDB.
|Do nothing||Keep the synced rows in the table in MariaDB|
|Delete||Delete the synced rows from the table in MariaDB|
Tips and troubleshooting
To date, our customers haven't experienced any errors while using this destination. If you run into any issues, . We're here to help.
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.
Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.