Skip to content

Commit 0cf2ad8

Browse files
DOC-6088 removed redundant horizontal rules between sections
1 parent ad623e0 commit 0cf2ad8

File tree

1 file changed

+26
-39
lines changed

1 file changed

+26
-39
lines changed

content/integrate/redis-data-integration/data-pipelines/supported-types.md

Lines changed: 26 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,12 @@ RDI (via the Debezium Oracle connector) supports Oracle’s core scalar types:
7070

7171
**Behavior and mapping:**
7272

73-
- `NUMBER(p,s)` / `DECIMAL(p,s)`
73+
- `NUMBER(p,s)`/`DECIMAL(p,s)`
7474
- Ingested with full precision and scale.
7575
- **Redis Hash**: stored as a string, e.g. `4521398.56``"4521398.56"`.
7676
- **RedisJSON**: stored as a numeric JSON value by default, or as a string if configured.
7777

78-
- `CHAR` / `VARCHAR2` / `NCHAR` / `NVARCHAR2`
78+
- `CHAR`/`VARCHAR2`/`NCHAR`/`NVARCHAR2`
7979
- Stored as plain strings in Redis (UTF‑8 preserved).
8080

8181
- `DATE`, `TIMESTAMP`
@@ -93,20 +93,20 @@ Oracle LOBs are supported **with additional configuration**:
9393
- **Types**: `CLOB`, `NCLOB`, `BLOB` (and LOB‑backed `XMLTYPE`).
9494
- By default, Debezium does **not** send full LOB contents in change events.
9595

96-
**Required config (RDI / Debezium side):**
96+
**Required config (RDI/Debezium side):**
9797

9898
```properties
99-
# In the Oracle source connector / RDI source advanced properties
99+
# In the Oracle source connector/RDI source advanced properties
100100
lob.enabled=true
101101
```
102102

103103
- When `lob.enabled=true`:
104-
- New values for `CLOB` / `NCLOB` / `BLOB` / `XMLTYPE` are sent in events.
104+
- New values for `CLOB`/`NCLOB`/`BLOB`/`XMLTYPE` are sent in events.
105105
- Unchanged LOB values in update events may be represented by placeholders (connector optimization).
106106

107107
**Mapping:**
108108

109-
- `CLOB` / `NCLOB` → Unicode string (entire text) in Redis.
109+
- `CLOB`/`NCLOB` → Unicode string (entire text) in Redis.
110110
- `BLOB` → Base64‑encoded string (by default).
111111
- In Redis Hashes, these are string fields; in RedisJSON they are JSON strings.
112112

@@ -120,7 +120,7 @@ By default, Debezium uses a **binary handling mode** (commonly `base64`):
120120
binary.handling.mode=base64 # typical default
121121
```
122122

123-
- Oracle `RAW` / `BLOB` values:
123+
- Oracle `RAW`/`BLOB` values:
124124
- Emitted as Base64 strings (e.g. `"hello"` bytes → `"aGVsbG8="`).
125125
- Stored as those encoded strings in Redis Hash fields or RedisJSON string properties.
126126

@@ -145,16 +145,16 @@ Oracle `XMLTYPE` is backed by LOBs and **needs extra setup**:
145145
- `XMLTYPE` values are captured as XML **text**.
146146
- Redis stores them as strings (Hash or JSON). If desired, you can post‑process XML into JSON with an RDI job.
147147

148-
### Unsupported / special Oracle types
148+
### Unsupported/special Oracle types
149149

150150
Not supported (or skipped) by the Debezium Oracle connector and therefore by RDI:
151151

152152
- `LONG`, `LONG RAW` – legacy LOB types.
153153
- `BFILE` – external file LOBs.
154154
- `UROWID` – universal ROWIDs.
155155
- PL/SQL `BOOLEAN` – not a SQL column type.
156-
- Complex object / user‑defined types (UDTs), nested tables.
157-
- Oracle spatial / locator types.
156+
- Complex object/user‑defined types (UDTs), nested tables.
157+
- Oracle spatial/locator types.
158158
- Oracle vector/AI types (unless explicitly cast to supported text/binary forms).
159159

160160
**ROWID**:
@@ -164,7 +164,7 @@ Not supported (or skipped) by the Debezium Oracle connector and therefore by RDI
164164

165165
### Oracle → Redis mapping summary
166166

167-
| Oracle type | Support level | Notes / requirements |
167+
| Oracle type | Support level | Notes/requirements |
168168
|---------------------------|--------------------|------------------------------------------------------------|
169169
| `NUMBER`, `DECIMAL` | ✅ Supported | Full precision; string in Hash, numeric in JSON. |
170170
| `CHAR`, `VARCHAR2`, `N*` | ✅ Supported | Straightforward string mapping. |
@@ -177,8 +177,6 @@ Not supported (or skipped) by the Debezium Oracle connector and therefore by RDI
177177
| `BFILE`, `UROWID` | ❌ Not supported | Skipped. |
178178
| Object/UDT, spatial, etc. | ❌ Not supported | Must be transformed/cast upstream. |
179179

180-
---
181-
182180
## MySQL and MariaDB
183181

184182
### Core types
@@ -194,15 +192,15 @@ RDI (via Debezium MySQL) supports all common MySQL and MariaDB types:
194192
**Mapping:**
195193

196194
- Integers and floats: string in Hash, numeric in JSON.
197-
- `DECIMAL` / `NUMERIC`:
195+
- `DECIMAL`/`NUMERIC`:
198196
- Default: preserved precision via `decimal.handling.mode` (default setting
199197
is `debezium.source.decimal.handling.mode=string`).
200198
- Recommended: treat high‑precision values as strings to avoid rounding.
201199
- Text types: stored as strings.
202200
- Temporal:
203201
- `DATE`: days since epoch → epoch ms at 00:00 UTC.
204202
- `TIME`: time of day → milliseconds from midnight.
205-
- `DATETIME` / `TIMESTAMP`: epoch ms (with `TIMESTAMP` in UTC).
203+
- `DATETIME`/`TIMESTAMP`: epoch ms (with `TIMESTAMP` in UTC).
206204

207205
### JSON
208206

@@ -234,9 +232,9 @@ No special configuration is required.
234232
- Debezium emits bytes using configured `binary.handling.mode` (Base64 by default).
235233
- RDI stores the resulting encoded string.
236234

237-
### Unsupported / partial types
235+
### Unsupported/partial types
238236

239-
- **Spatial / GIS types**: `GEOMETRY`, `POINT`, `LINESTRING`, `POLYGON`, etc.
237+
- **Spatial/GIS types**: `GEOMETRY`, `POINT`, `LINESTRING`, `POLYGON`, etc.
240238
- Not supported out of the box. Columns with these types are skipped.
241239
- **BIT**:
242240
- Debezium may represent it as raw bytes.
@@ -250,15 +248,13 @@ No special configuration is required.
250248
| `DECIMAL`, `NUMERIC` | ✅ Supported | Configure `decimal.handling.mode` as needed. |
251249
| `FLOAT`, `DOUBLE` | ✅ Supported | Beware of precision if using JSON numbers. |
252250
| Text types (`*TEXT`) | ✅ Supported | Large text handled; stored as strings. |
253-
| Binary / BLOB types | ✅ Supported | Base64 (or configured) encoded strings in Redis. |
251+
| Binary/BLOB types | ✅ Supported | Base64 (or configured) encoded strings in Redis. |
254252
| `DATE`, `TIME`, `DATETIME`, `TIMESTAMP`, `YEAR` | ✅ Supported | Epoch‑based or integer representations. |
255253
| `JSON` | ✅ Supported | Text in Hash; native JSON in RedisJSON. |
256254
| `ENUM`, `SET` | ✅ Supported | Saved as strings. |
257255
| Spatial (`GEOMETRY`…) | ❌ Not supported| Must be converted upstream if needed. |
258256
| `BIT` | ⚠️ Partial | Comes through as binary; no built‑in boolean mapping. |
259257

260-
---
261-
262258
## PostgreSQL, Supabase, and AlloyDB
263259

264260
### Core types
@@ -281,7 +277,7 @@ Supported PostgreSQL scalar types:
281277
- `UUID`, `INET`, `CIDR`, `MACADDR`: stored as strings.
282278
- `BYTEA`: binary encoded according to Debezium’s binary handling mode (Base64 by default).
283279

284-
### JSON / JSONB / HSTORE
280+
### JSON/JSONB/HSTORE
285281

286282
- `JSON`, `JSONB`:
287283
- Debezium captures JSON values directly.
@@ -292,13 +288,13 @@ Supported PostgreSQL scalar types:
292288
- Stored as a key/value representation (e.g. `'"k1"=>"v1","k2"=>"v2"'`) as a string by default.
293289
- You can post‑process to a JSON object with an RDI job if desired.
294290

295-
### Unsupported / complex types
291+
### Unsupported/complex types
296292

297293
Not supported in Debezium’s PostgreSQL connector (and thus RDI):
298294

299295
- **Arrays**: `text[]`, `int[]`, etc. – skipped.
300-
- **Composite types / UDTs**: not captured.
301-
- **Geometric / spatial types**:
296+
- **Composite types/UDTs**: not captured.
297+
- **Geometric/spatial types**:
302298
- `POINT`, `LINE`, `LSEG`, `BOX`, `PATH`, `POLYGON`, `CIRCLE`, PostGIS `GEOMETRY`, `GEOGRAPHY`.
303299
- **`INTERVAL`**: not emitted.
304300
- **BIT/VARBIT**: bitstring types are not handled as first‑class booleans.
@@ -330,8 +326,6 @@ If these are present, the connector generally skips those fields and logs warnin
330326
| Geometric/PostGIS types | ❌ Not supported | Skipped. |
331327
| `INTERVAL`, `BIT` | ❌ Not supported | Must be converted upstream. |
332328

333-
---
334-
335329
## SQL Server
336330

337331
### Core types
@@ -345,7 +339,7 @@ Supported SQL Server scalar types:
345339
- **Temporal**: `DATE`, `TIME`, `DATETIME`, `SMALLDATETIME`, `DATETIME2`, `DATETIMEOFFSET`.
346340
- **Boolean‑like**: `BIT`.
347341
- **Identifier**: `UNIQUEIDENTIFIER`.
348-
- **Row version**: `ROWVERSION` / `TIMESTAMP` (SQL Server’s version column).
342+
- **Row version**: `ROWVERSION`/`TIMESTAMP` (SQL Server’s version column).
349343

350344
**Mapping:**
351345

@@ -380,7 +374,7 @@ Supported SQL Server scalar types:
380374

381375
No special connector tuning is usually required beyond standard CDC configuration.
382376

383-
### Unsupported / special types
377+
### Unsupported/special types
384378

385379
- `sql_variant`: not supported.
386380
- `hierarchyid`: not supported.
@@ -404,8 +398,6 @@ No special connector tuning is usually required beyond standard CDC configuratio
404398
| `sql_variant`, `hierarchyid` | ❌ Not supported | Skipped. |
405399
| Spatial (`geometry`, `geography`) | ❌ Not supported | Skipped. |
406400

407-
---
408-
409401
## MongoDB
410402

411403
### Core BSON types
@@ -431,7 +423,7 @@ MongoDB’s JSON‑like model maps very naturally into RedisJSON (or Hashes). De
431423

432424
- **Others (stored as strings)**:
433425
- `Regular Expression`
434-
- `JavaScript` / `JavaScript with Scope`
426+
- `JavaScript`/`JavaScript with Scope`
435427
- `DBRef` (as a small document)
436428
- MinKey/MaxKey – rarely used, mostly internal.
437429

@@ -461,15 +453,15 @@ By default, RDI maps **one MongoDB document → one Redis key** (often RedisJSON
461453
- Binary data Base64‑encoded into a string.
462454

463455
- Documents and Arrays:
464-
- RedisJSON target: nested objects / arrays preserved exactly.
456+
- RedisJSON target: nested objects/arrays preserved exactly.
465457
- Hash target: nested documents and arrays are **stringified** JSON (e.g. `address` field contains the JSON string of the subdocument).
466458

467459
### Less common BSON types
468460

469461
- **Regex**: stored as a string representation (e.g. `"/^abc/i"`).
470-
- **JavaScript / JavaScriptWithScope**: captured as code text.
462+
- **JavaScript/JavaScriptWithScope**: captured as code text.
471463
- **DBRef**: captured as a small document with `$ref` and `$id`, then mapped like a normal subdocument.
472-
- **MinKey / MaxKey**: may be treated as extreme sentinels or omitted; rarely used in user data.
464+
- **MinKey/MaxKey**: may be treated as extreme sentinels or omitted; rarely used in user data.
473465

474466
### MongoDB → Redis mapping summary
475467

@@ -489,8 +481,6 @@ By default, RDI maps **one MongoDB document → one Redis key** (often RedisJSON
489481
| Regex, JS, DBRef | ⚠️ Supported as strings/structs | Stored as strings or embedded objects. |
490482
| MinKey/MaxKey | ⚠️ Rare/edge | Usually not relevant in user data. |
491483

492-
---
493-
494484
## Cross-cutting considerations
495485

496486
### Nullability
@@ -525,6 +515,3 @@ For high‑precision numeric values (money, scientific values):
525515
- `hex`.
526516

527517
Ensure your consumer understands the chosen encoding.
528-
529-
---
530-

0 commit comments

Comments
 (0)