-
Notifications
You must be signed in to change notification settings - Fork 154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RC: RDI in the cloud #570
base: main
Are you sure you want to change the base?
RC: RDI in the cloud #570
Changes from 13 commits
c4d39e6
d586971
b5beb6a
10d5de8
c9e5161
42fcff9
17270d8
9e0de8e
efc8b0b
20c3050
c3b7bca
85c6d08
e938762
a5977a2
289f0e4
1d6fce4
272e518
9d12553
1551e1d
a32204e
07bc249
bc41625
71f431c
e8ea310
860944a
639fc50
697d665
fa87f86
49d1f54
4abac23
4d69274
129d6af
99229b1
c3e501e
01907d8
c9469e0
d56188a
f817848
8f274f5
2d2820d
46603a6
89e0c4f
962c1e9
2b110b4
a51743b
35c8dc5
52412cc
7ef44a2
d0bf623
07b45a0
ff2c061
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
--- | ||
Title: Data Integration | ||
alwaysopen: false | ||
categories: | ||
- docs | ||
- operate | ||
- rc | ||
description: Use Redis Data Integration with Redis Cloud. | ||
hideListLinks: true | ||
weight: 99 | ||
--- | ||
|
||
Redis Cloud now supports [Redis Data Integration (RDI)]({{<relref "integrate/redis-data-integration">}}), a fast and simple way to bring your data into Redis. | ||
|
||
A relational database usually handles queries much more slowly than a Redis database. If your application uses a relational database and makes many more reads than writes (which is the typical case) then you can improve performance by using Redis as a cache to handle the read queries quickly. Redis Cloud uses [ingest]({{<relref "/integrate/redis-data-integration/ingest/">}}) to help you offload all read queries from the application database to Redis automatically. | ||
|
||
RDI helps Redis customers sync Redis Cloud with live data from their primary databases to: | ||
- Meet the required speed and scale of read queries and provide an excellent and predictable user experience. | ||
- Save resources and time when building pipelines and coding data transformations. | ||
- Reduce the total cost of ownership by saving money on expensive database read replicas. | ||
|
||
Using RDI with Redis Cloud simplifies managing your data integration pipeline. No need to worry about hardware or underlying infrastructure, as Redis Cloud manages that for you. Creating the data flow from source to target is much easier, and there are validations in place to reduce errors. | ||
|
||
## Prerequisites | ||
|
||
Before you can create a data pipeline, you must have: | ||
|
||
- A [Redis Cloud Pro database]() hosted on Amazon Web Services (AWS) | ||
- One supported source database, also hosted on AWS: | ||
- Insert supported source DBs here. | ||
|
||
{{< note >}} | ||
Please be aware of the following limitations: | ||
|
||
- The target database must be a Redis Cloud Pro database hosted on Amazon Web Services (AWS). Redis Cloud Essentials databases and databases hosted on Google Cloud do not support Data Integration. | ||
- Only the Ingest use case is supported at this time. | ||
cmilesb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Source databases must also be hosted on AWS. | ||
- One source database can only be connected to one target database. | ||
cmilesb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
{{< /note >}} | ||
|
||
## Get started | ||
|
||
To create a new data pipeline, you need to: | ||
|
||
1. [Prepare your source database]({{<relref "content/operate/rc/databases/rdi/setup">}}) and any associated credentials. | ||
2. [Provision data pipeline] | ||
3. [Define data pipeline] | ||
|
||
Once your data pipeline is defined, you can [manage]() and [observe]() it. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
Title: Prepare source database | ||
alwaysopen: false | ||
categories: | ||
- docs | ||
- operate | ||
- rc | ||
description: null | ||
hideListLinks: true | ||
weight: 1 | ||
--- | ||
|
||
|
||
## Create new data pipeline | ||
|
||
1. In the Redis Cloud console, go to your target database and select the **Data Pipeline** tab. | ||
1. Select **Create data pipeline**. | ||
1. Select your source database type. The following database types are supported: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You also mention MariaDB and Aurora in the intro page. AFAIK, MariaDB is basically the same as MySQL, so I generally write MySQL/MariaDB together. Is Aurora specific to cloud RDI, with it being an Amazon product? Also, if we do support Aurora for this then do we need some extra instructions for it in the Prepare Source Databases section? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @yaronp68 - Can you elaborate more on the Aurora inclusion? Is it the same as mySQL/mariaDB, or do we need to add more information as Andy said? |
||
- Insert here | ||
1. If you know the size of your source database, enter it into the **Source dataset size** field. | ||
|
||
## Prepare source database | ||
|
||
Before using the pipeline, you must first prepare your source database to use the Debezium connector for change data capture (CDC). | ||
|
||
See [Prepare source databases]({{<relref "/integrate/redis-data-integration/ingest/data-pipelines/prepare-dbs/">}}) to find steps for your database type. | ||
cmilesb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
See the [RDI architecture overview]({{< relref "/integrate/redis-data-integration/ingest/architecture#overview" >}}) for more information about CDC. | ||
cmilesb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Share source database credentials | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. credentials and TLS certificates There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's covered in this section. I thought "credentials" in the header would include certificates without making the header too long. |
||
|
||
You need to share your source database credentials in an Amazon secret with Redis Cloud so that the pipeline can connect to your database. | ||
|
||
In the [AWS Management Console](https://console.aws.amazon.com/), use the **Services** menu to locate and select **Security, Identity, and Compliance** > **Secrets Manager**. [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) of type **Other type of secret** with the following key/value fields: | ||
|
||
- `port`: Database port | ||
- `schema_name`: Database name or schema name | ||
- `pdb_name`: Database name *(Oracle only)* | ||
- `username`: Database username | ||
- `password`: Database password | ||
- `server_certificate`: Server certificate in PEM format *(TLS only)* | ||
- `client_certificate`: [X.509 client certificate](https://en.wikipedia.org/wiki/X.509) or chain in PEM format *(mTLS only)* | ||
- `client_certificate_key`: Key for the client certificate or chain in PEM format *(mTLS only)* | ||
- `client_certificate_passphrase`: Passphrase or password for the client certificate or chain in PEM format *(mTLS only)* | ||
|
||
{{<note>}} | ||
If your source database has TLS or mTLS enabled, we recommend that you enter the `server_certificate`, `client_certificate`, and `client_certificate_key` into the secret editor using the **Key/Value** input method instead of the **JSON** input method. Pasting directly into the JSON editor may cause an error. | ||
{{</note>}} | ||
|
||
After you store this secret, you can view and copy the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#iam-resources) of your secret on the secret details page. | ||
|
||
## Setup connectivity | ||
|
||
To expose your source database to Redis, you need to [edit your AWS PrivateLink VPC permissions](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions). | ||
|
||
1. Open your [Amazon VPC console]() and navigate to **Endpoint services**. | ||
1. Copy the Amazon Resource Name (ARN) provided in **Setup connectivity** pane. | ||
1. Navigate to **Allow principals** tab. | ||
1. Add the Redis Cloud ARN and choose **Allow principals**. | ||
|
||
For more details on AWS PrivateLink, see [Share your services through AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just checking... these links are intentionally blank for now, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, I'll fix these before this goes out.