content/integrate/redis-data-integration/_index.md
This is the first General Availability version of Redis Data Integration (RDI).
RDI's purpose is to help Redis customers sync Redis Enterprise with live data from their slow disk based databases in order to:
If you use a relational database as the system of record for your app, you may eventually find that its performance doesn't scale well as your userbase grows. It may be acceptable for a few thousand users but for a few million, it can become a major problem. If you don't have the option of abandoning the relational database, you should consider using a fast database, such as Redis, to cache data from read queries. Since read queries are typically many times more common than writes, the cache will greatly improve performance and let your app scale without a major redesign.
RDI keeps a Redis cache up to date with changes in the primary database, using a Change Data Capture (CDC) mechanism. It also lets you transform the data from relational tables into convenient and fast data structures that match your app's requirements. You specify the transformations using a configuration system, so no coding is necessary.
{{<note>}} RDI is supported with Redis databases or CRDB (Active Active Replication) targets, and is also available on [Redis Cloud]({{< relref "/operate/rc/databases/rdi" >}}). {{</note>}}
RDI provides enterprise-grade streaming data pipelines with the following features:
RDI is highly configurable but it is not intended to be a general solution for all data integration tasks. See [When to use RDI]({{< relref "/integrate/redis-data-integration/when-to-use" >}}) to find out if your use case is a good fit for RDI's features.
RDI can capture data from any of the following sources:
{{< embed-md "rdi-supported-source-versions.md" >}}
Learn more about RDI from the other pages in this section: