Skip to content

Commit fd8681f

Browse files
DOC-6026 added embed to RDI Cloud page
1 parent e2f447c commit fd8681f

File tree

3 files changed

+46
-25
lines changed

3 files changed

+46
-25
lines changed

content/embeds/rdi-when-to-use.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ RDI is a good fit when:
1616
[CDC]({{< relref "/integrate/redis-data-integration/data-pipelines#pipeline-lifecycle" >}})
1717
would not exceed 10K records per second.
1818
- You don’t need to perform join operations on the data from several tables
19-
into a nested Redis JSON object.
20-
- RDI supports the data transformations you need for your app.
19+
into a [nested Redis JSON object]({{< relref "/integrate/redis-data-integration/data-pipelines/data-denormalization#joining-one-to-many-relationships" >}}).
20+
- RDI supports the [data transformations]({{< relref "/integrate/redis-data-integration/data-pipelines/transform-examples" >}}) you need for your app.
2121
- Your data caching needs are too complex or demanding to implement and maintain yourself.
2222
- Your database administrator has reviewed RDI's requirements for the source database and
2323
confirmed that they are acceptable.

content/operate/rc/databases/rdi/_index.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,20 @@ RDI helps Redis customers sync Redis Cloud with live data from their primary dat
2323

2424
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.
2525

26+
## Is RDI a good fit for my architecture?
27+
28+
RDI is designed to support apps that must use a disk-based database as the system of record
29+
but must also be fast and scalable. This is a common requirement for mobile and web
30+
apps with a rapidly-growing number of users; the performance of the main database is fine at first
31+
but it will soon struggle to handle the increasing demand without a cache.
32+
33+
Use the information in the sections below to determine whether RDI is a good fit for your architecture.
34+
35+
```decision-tree
36+
```
37+
38+
{{< embed-md "rdi-when-to-use.md" >}}
39+
2640
## Data pipeline architecture
2741

2842
An RDI data pipeline sits between your source database and your target Redis database. Initially, the pipeline reads all of the data and imports it into the target database during the *initial sync* phase. After this initial sync is complete, the data pipeline enters the *streaming* phase, where changes are captured as they happen. Changes in the source database are added to the target within a few seconds of capture. The data pipeline translates relational database rows to Redis hashes or JSON documents.
Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
11
{{- /* Render hook for decision tree code blocks */ -}}
2-
{{- /* Preserve YAML source for visual display and JavaScript parsing */ -}}
3-
<pre class="decision-tree-source">{{ .Inner | htmlEscape | safeHTML }}</pre>
2+
{{- /* Check if content is empty (used to trigger JS loading without rendering) */ -}}
3+
{{- $trimmedContent := strings.TrimSpace .Inner -}}
4+
{{- if eq $trimmedContent "" -}}
5+
{{- /* Empty code block - just set the flag to load the JS, don't render anything */ -}}
6+
{{ .Page.Store.Set "hasDecisionTree" true }}
7+
{{- else -}}
8+
{{- /* Preserve YAML source for visual display and JavaScript parsing */ -}}
9+
<pre class="decision-tree-source">{{ .Inner | htmlEscape | safeHTML }}</pre>
410

5-
{{- /* Extract id and scope from YAML for metadata (only top-level fields) */ -}}
6-
{{- $lines := split .Inner "\n" -}}
7-
{{- $id := "" -}}
8-
{{- $scope := "" -}}
9-
{{- range $lines -}}
10-
{{- /* Only process lines that don't start with whitespace (top-level fields) */ -}}
11-
{{- if and (gt (len .) 0) (ne (index . 0) 32) (ne (index . 0) 9) -}}
12-
{{- $trimmed := strings.TrimSpace . -}}
13-
{{- if strings.HasPrefix $trimmed "id:" -}}
14-
{{- $afterPrefix := strings.Replace $trimmed "id:" "" 1 -}}
15-
{{- $id = strings.TrimSpace $afterPrefix -}}
16-
{{- end -}}
17-
{{- if strings.HasPrefix $trimmed "scope:" -}}
18-
{{- $afterPrefix := strings.Replace $trimmed "scope:" "" 1 -}}
19-
{{- $scope = strings.TrimSpace $afterPrefix -}}
11+
{{- /* Extract id and scope from YAML for metadata (only top-level fields) */ -}}
12+
{{- $lines := split .Inner "\n" -}}
13+
{{- $id := "" -}}
14+
{{- $scope := "" -}}
15+
{{- range $lines -}}
16+
{{- /* Only process lines that don't start with whitespace (top-level fields) */ -}}
17+
{{- if and (gt (len .) 0) (ne (index . 0) 32) (ne (index . 0) 9) -}}
18+
{{- $trimmed := strings.TrimSpace . -}}
19+
{{- if strings.HasPrefix $trimmed "id:" -}}
20+
{{- $afterPrefix := strings.Replace $trimmed "id:" "" 1 -}}
21+
{{- $id = strings.TrimSpace $afterPrefix -}}
22+
{{- end -}}
23+
{{- if strings.HasPrefix $trimmed "scope:" -}}
24+
{{- $afterPrefix := strings.Replace $trimmed "scope:" "" 1 -}}
25+
{{- $scope = strings.TrimSpace $afterPrefix -}}
26+
{{- end -}}
2027
{{- end -}}
2128
{{- end -}}
22-
{{- end -}}
2329

24-
{{- /* Embed metadata as custom JSON for AI agents */ -}}
25-
{{- $metadata := dict "type" "decision-tree" "id" $id "scope" $scope -}}
30+
{{- /* Embed metadata as custom JSON for AI agents */ -}}
31+
{{- $metadata := dict "type" "decision-tree" "id" $id "scope" $scope -}}
2632

27-
{{ $jsonMetadata := $metadata | jsonify (dict "indent" " ") }}
28-
{{ printf "<script type=\"application/json\" data-redis-metadata=\"decision-tree\">\n%s\n</script>" $jsonMetadata | safeHTML }}
33+
{{ $jsonMetadata := $metadata | jsonify (dict "indent" " ") }}
34+
{{ printf "<script type=\"application/json\" data-redis-metadata=\"decision-tree\">\n%s\n</script>" $jsonMetadata | safeHTML }}
2935

30-
{{ .Page.Store.Set "hasDecisionTree" true }}
36+
{{ .Page.Store.Set "hasDecisionTree" true }}
37+
{{- end -}}
3138

0 commit comments

Comments
 (0)