Amazon Redshift is a fully managed, cloud-based data warehouse. As Redshift is built for online analytic processing and business intelligence applications, it excels at executing large-scale analytical queries. For this reason, it exhibits far better performance than traditional, row-based relational databases like MySQL and PostgreSQL.


Pricing

Currently, Redshift pricing is based on an hourly rate that varies depending on the type and number of nodes in a cluster. Check out Amazon’s pricing page for an in-depth look at their current plan offerings.

So, what’s a node? A node is a single computer that participates in a cluster. Your Redshift cluster can have one to many nodes; the more nodes, the more data it can store and the faster it can process queries. Amazon currently offers four different types of nodes, each of which has its own CPU, RAM, storage capacity, and storage drive type.

The type and number of node(s) you choose when creating your cluster is dependent on your needs and dataset. We do, however, recommend you set up a multi-node configuration to provide data redundancy.

For some guidance on choosing the right number of nodes for your cluster, check out Amazon’s Determining the Number of Nodes guide.


Setup info

High-level details about Stitch’s implementation of Redshift, such as supported connection methods, availability on Stitch plans, etc.

Release status

Released

Pricing tier

All Stitch plans

Supported versions

Not applicable

SSH connections

Supported

Stitch supports using SSH tunnels to connect to Redshift destinations. Refer to these instructions to set up an SSH tunnel for Redshift.

SSL connections

Supported

Stitch will attempt to use SSL to connect by default. No additional configuration is needed on your part.

VPN connections

Unsupported

Virtual Private Network (VPN) connections may be implemented as part of an Enterprise plan. Contact Stitch Sales for more info.

Workload and performance management

Supported

To improve your query performance, you can apply encodings, SORT, and DIST keys to Stitch-created tables in your Redshift destination. Your settings will remain intact even when new data is loaded.

Refer to the Encodings, SORT, and DIST Keys guide for application instructions.

Setup documentation


Replication

Details about Stitch and replication for Redshift destinations.

Incremental Replication - Upserts

Supported

Using a table’s Primary Keys, Stitch will perform an update operation on existing rows to overwrite the data.

Primary Keys

Unsupported

Redshift destinations do not have native support for Primary Keys.

As Stitch requires Primary Keys to de-dupe data during Incremental Replication, Primary Keys for tables are retained using table comments.

Removing or incorrectly altering table comments can lead to replication issues.

Multipe data types

Unsupported

Redshift destinations do not support multiple data types in a single column.

To accommodate this scenario, Stitch will create additional columns for each data type. Refer to the Table structural changes guide for examples and more info.

Nested data structure support

Unsupported

Redshift destinations do not have native support for nested data structures.

To ensure nested data can be loaded, Stitch will flatten objects and arrays into columns and subtables, respectively. For more info and examples, refer to the Handling nested data structures guide.

Incompatible sources

Has possible incompatibilities

Incompatibilities may exist with the following integrations:

Refer to the Destination and integration compatibility guide for more info.


Limitations

In this section:

  • Object name limits - Details about object naming rules imposed by Redshift destinations.

  • Table limits - Details about table rules imposed by Redshift destinations.

  • Data limits - Details about data limitations imposed by Redshift destinations.

  • Column naming - Details about transformations performed by Stitch to ensure source column names adhere to the object naming rules imposed by Redshift destinations.

Object name limits

Details about object naming rules imposed by Redshift destinations.

Case sensitivity

Insensitive

This means that Redshift destinations treat upper- and lowercase characters as the same. For example: CUSTOMERID and customerid are equal in Redshift.

When column names are loaded into Redshift, any uppercase characters will be forced into lowercase. This means that Id and id will canonicalize to the same name, which can lead to object collision errors. Refer to the Column naming section of this guide for examples.

Table name length

127 characters

Tables with names that exceed this limit will be rejected. Rejected tables are logged in the _sdc_rejected table.

Column name length

115 characters

Columns with names that exceed this limit will be rejected. Rejected columns are logged in the _sdc_rejected table.

Table limits

Details about table rules imposed by Redshift destinations.

Max # of columns per table

1,600 columns

Max # of tables per database

100,000 tables

Data limits

Details about data limitations imposed by Redshift destinations.

Max record size

4 MB

Records that exceed this limit will be rejected. Rejected columns are logged in the _sdc_rejected table.

Timezone support

Unsupported

Redshift will store the value in UTC as TIMESTAMP WITHOUT TIMEZONE.

More info about timestamp data types can be found in Amazon’s documentation.

Date ranges

4713 BC to 294276 AD

Date values outside of this range will be rejected and logged in the sdc_rejected table.

More info about Redshift date data types can be found in Amazon’s documentation.

Timestamp ranges

4713 BC to 294276 AD

Timestamp values outside of this range will be rejected and logged in the sdc_rejected table.

More info about Redshift time data types can be found in Amazon’s documentation.

Integer range

-9223372036854775808 to 9223372036854775807

Integer values outside of this range will be rejected and logged in the _sdc_rejected table.

Decimal precision

Must be between 1 and 38 (38 is the default)

Decimal values outside of this range will be rejected and logged in the _sdc_rejected table.

Decimal scale

Must be between 0 and the precision value

Decimal values outside of this range will be rejected and logged in the _sdc_rejected table.

VARCHAR max width

65K

String values that exceed this limit will be truncated to the maximum size to allow the data to be loaded into Redshift.

Column naming

Details about transformations performed by Stitch to ensure source column names adhere to the object naming rules imposed by Redshift destinations.

Source column name Destination column name
Mixed case CuStOmErID customerid
Contains spaces customer id customer id
Contains unsupported characters !customer#id customerid
Name begins with an underscore _customerid customerid
Name begins with a non-letter 123customerid customerid

Compare destinations

Not sure if Redshift is the data warehouse for you? Check out the Choosing a Stitch Destination guide to compare each of Stitch’s destination offerings.


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.