You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/connections/sources/reverse-etl/index.md
+55-6Lines changed: 55 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Reverse ETL
3
3
beta: true
4
4
---
5
5
6
-
Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse and loads it into a 3rd party destination. Reverse ETL allows you to connect your data warehouse to the tools that Marketing, Sales, Support, Product, Analytics, and other business teams use. For example, with Reverse ETL, you can sync rows from Snowflake to Salesforce. Reverse ETL supports event and object data. This includes customer profile data, subscriptions, product tables, shopping cart tables, and more.
6
+
Reverse ETL (Extract, Transform, Load) extracts data from a data warehouse using a query you provide, and delivers the data to your 3rd party destinations. Reverse ETL allows you to connect your data warehouse to the tools that Marketing, Sales, Support, Product, Analytics, and other business teams use. For example, with Reverse ETL, you can sync rows from Snowflake to Salesforce. Reverse ETL supports event and object data. This includes customer profile data, subscriptions, product tables, shopping cart tables, and more.
7
7
8
8
As Segment is actively developing this feature, Segment welcomes your feedback on your experience with Reverse ETL. Click the button below to submit your feedback.
9
9
@@ -29,7 +29,7 @@ Follow these 4 steps to set up Reverse ETL and learn what each component is abou
29
29
3.[Add a Destination](#step-3-add-a-destination)
30
30
4.[Create Mappings](#step-4-create-mappings)
31
31
32
-
### Step 1: Add a Source
32
+
### Step 1: Add a source
33
33
A Source is where your data originates from. Traditionally in Segment, a [Source](/docs/connections/sources/#what-is-a-source) is a website, server library, mobile SDK, or cloud application which can send data into Segment. In Reverse ETL, your data warehouse is the Source.
34
34
35
35
> info ""
@@ -42,6 +42,7 @@ To add your warehouse as a source:
42
42
43
43
1. Navigate to **Connections > Sources** and select the **Reverse ETL** tab in the Segment app.
44
44
2. Click **Add Source**.
45
+
<<<<<<< HEAD
45
46
<<<<<<< HEAD:src/reverse-etl/index.md
46
47
3. Select the source you want to add. You can choose between **BigQuery**, **Snowflake**, and **Redshift**.
47
48
=======
@@ -50,13 +51,21 @@ To add your warehouse as a source:
50
51
* If you choose to use Snowflake, run the queries listed in the [Snowflake Reverse ETL setup guide](/docs/reverse-etl/snowflake-setup/) to set up the Segment Snowflake connector. Segment recommends using the `ACCOUNTADMIN` role to execute all the commands.
51
52
* If you choose to use BigQuery, use the permissions outlined in the [BigQuery Reverse ETL setup guide](/docs/reverse-etl/bigquery-setup/), to create a Service Account and generate JSON credentials that will then be copied into the Segment UI when creating a Reverse ETL Source.
52
53
4. Add the account information for your source.
54
+
=======
55
+
3. Select the source you want to add. You can choose between BigQuery, Redshift, and Snowflake.
56
+
4. Follow the corresponding setup guide for your Reverse ETL source.
* For Snowflake users: Learn more about the Snowflake Account ID [here](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html){:target="_blank"}.
54
63
5. Click **Test Connection** to test to see if the connection works.
55
64
6. Click **Create Source** if the test connection is successful.
56
65
57
66
After you add your data warehouse as a source, you can [add a model](#step-2-add-a-model) to your source.
58
67
59
-
### Step 2: Add a Model
68
+
### Step 2: Add a model
60
69
Models are SQL queries that define sets of data you want to synchronize to your Reverse ETL destinations. After you add your source, you can add a model.
61
70
62
71
To add your first model:
@@ -79,7 +88,7 @@ To add your first model:
79
88
80
89
To add multiple models to your source, repeat steps 1-10 above.
81
90
82
-
### Step 3: Add a Destination
91
+
### Step 3: Add a destination
83
92
Once you’ve added a model, you need to add a destination. In Reverse ETL, destinations are the business tools or apps you use that Segment syncs the data from your warehouse to.
84
93
85
94
> info ""
@@ -95,7 +104,7 @@ To add your first destination:
95
104
5. Enter the **Destination name** and click **Create Destination**.
96
105
6. Enter the required information on the **Settings** tab of the destination.
97
106
98
-
### Step 4: Create Mappings
107
+
### Step 4: Create mappings
99
108
After you’ve added a destination, you can create mappings from your warehouse to the destination. Mappings enable you to map the data you extract from your warehouse to the fields in your destination.
100
109
101
110
To create a mapping:
@@ -149,7 +158,11 @@ To edit your mapping:
149
158
2. Select the destination with the mapping you want to edit.
150
159
3. Select the **...** three dots and click **Edit mapping**. If you want to delete your mapping, select **Delete**.
151
160
152
-
## Usage limits
161
+
162
+
## Limits
163
+
To provide consistent performance and reliability at scale, Segment enforces default use and rate limits.
164
+
165
+
### Usage limits
153
166
Processed Reverse ETL records are the total number of records Segment attempts to load to your downstream destinations, including those that fail to load. Your plan determines how many Reverse ETL records you can process in one monthly billing cycle.
154
167
155
168
Plan | Number of Reverse ETL records you can process to each destination per month |
@@ -162,5 +175,41 @@ When your limit is reached before the end of your billing period, your syncs wil
162
175
163
176
To see how many records you’ve processed using Reverse ETL, navigate to **Settings > Usage & billing** and select the **Reverse ETL** tab.
164
177
178
+
### Configuration limits
179
+
180
+
Name | Details | Limit
181
+
--------- | ------- | ------
182
+
Model query length | The maximum length for the model SQL query | 131,072 characters
183
+
Model identifier column name length | The maximum length for the ID column name. | 191 characters
184
+
Model timestamp column name length | The maximum length for the timestamp column name. | 191 characters
185
+
Sync frequency | The shortest possible duration Segment allows between syncs | 15 minutes
186
+
187
+
### Extract limits
188
+
The extract phase is the time spent connecting to your database, executing the model query, updating internal state tables and staging the extracted records for loading. There is a 14-day data retention period to support internal disaster recovery and debugging as needed.
189
+
190
+
Name | Details | Limit
191
+
----- | ------- | ------
192
+
Duration | The maximum amount of time Segment spends attempting to extract before timing out. | 3 hours
193
+
Record count | The maximum number of records a single sync will process. Note: This is the number of records extracted from the warehouse not the limit for the number of records loaded to the destination (e.g. new/update/deleted). | 20 million records
194
+
Column count | The maximum number of columns a single sync will process
195
+
Column name length | The maximum length of a record column | 128 characters
196
+
Record JSON Length | The maximum size for a record when converted to JSON (some of this limit is used by Segment) | 512 KiB
197
+
Column JSON Length | The maximum size of any single column value | 128 KiB
198
+
199
+
### Load limits
200
+
The load phase covers the time spent preparing the extracted records for delivery to all connected destinations and mappings, in addition to waiting for those records to be fully handled by Centrifuge. There is a 30-day data retention period with records that fail to deliver through Centrifuge.
201
+
202
+
Name | Details | Limit
203
+
----- | ------- | ------
204
+
Load prepare duration | The maximum amount of time Segment spends attempting to prepare the load before timing out. | 3 hours
205
+
Load wait duration | The maximum amount of time Segment spends waiting for records to be delivered by Centrifuge. | 6 hours
206
+
207
+
## Data retention
208
+
Segment uses Kafka queues to buffer data between systems, in which
209
+
210
+
## Security
211
+
Segment
212
+
213
+
\\ask Kathlynn what's the information we need for security
Set up Redshift as your Reverse ETL source. You can also choose to set up Reverse ETL with [these sources](link_to_catalog).
7
7
8
8
To set up Redshift with Reverse ETL:
9
-
1. Navigate to **Conections > Sources** and select the **Reverse ETL** tab.
10
-
2. Click **Add Source**.
9
+
1. Log in to Redshift and select the Redshift cluster you want to connect with Reverse ETL.
10
+
2. Follow the [networking instructions](/docs/connections/storage/catalog/redshift/#networking) to configure the correct network and security settings.
11
+
3. Run the SQL commands below to create a user named `segment`.
0 commit comments