@@ -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
100100lob.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`):
120120binary.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
150150Not 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
297293Not 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
381375No 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
527517Ensure your consumer understands the chosen encoding.
528-
529- ---
530-
0 commit comments