Enlace a la página de inicio de la serie: https://www.couchbase.com/blog/couchbase-oracle-developers-part-2-architecture/
Como parte de la remodelación de datos, al pasar del modelo relacional al modelo JSON, tendrás que tener en cuenta la asignación de tipos de datos. En Oracle, tendrás que crear y declarar los tipos de cada columna explícitamente antes de cargar los datos o escribir consultas. En Couchbase, simplemente te ajustas a la sintaxis JSON y la interpretación del tipo de datos es automática e implícita. Aquí está el resumen de mapeos, conversión y aritmética en estos tipos de datos.
| Característica | Oracle | Couchbase |
|---|---|---|
| Modelo | Relacional, Objeto-relacional | Modelo JSON con N1QL (SQL para JSON) |
| Tipos de datos |
Referencia de tipos de datos de Oracle |
Referencia de tipos de datos de Couchbase |
| Tipos de datos de cadena | CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR, LONGVARCHAR | Cadena (Unicode), hasta 20 MB |
| Tipos de datos de fecha y hora | FECHA, HORA, MARCA DE TIEMPO (con zona horaria), INTERVALO |
Cadenas ISO-8601 con funciones de fecha N1QL Artículo detallado |
| Booleano | BOOLEAN | verdadero / falso |
| Numérico | NÚMERO, DECIMAL, BIGINT, SMALLINT, ENTERO, FLOAT, REAL, DOBLE |
Valores enteros, fraccionarios y exponenciales. Rangos numéricos |
| Tipos de datos binarios | BINARIO, VARBINARIO, LONGVARBINARIO | Documento binario o valores codificados en Base64 |
| Tipos de datos de objetos grandes | BLOB, RAW, LONG_RAW, CLOB | Cada documento hasta 20 MB |
| Objetos |
Tipos de objetos definidos por el usuario Tipos de objetos Oracle |
Objetos JSON nativos con anidamiento ilimitado |
| Matrices |
VARRAY con tipo predefinido Documentación de VARRAY |
Matrices JSON de primera clase de tipos mixtos "A": [1, "X", [3, 4]] "B": [{"x":1}, {"x":2}] |
Notas adicionales
Tipos Date y Datetime.
Oracle y otros RDBMS tienen extensos tipos de datos para manejar datos relacionados con el tiempo y manipularlos. JSON no tiene un tipo date o datetime. Hemos elegido el tipo ISO 8601 . La idea es almacenar los datos relacionados con la fecha y la hora en forma de cadena, de conformidad con la norma ISO 8601, y luego manipularlos de manera coherente.
Conversión de clave primaria a clave de documento.
La clave de documento de Couchbase es siempre inferior a 255 bytes y suele ser una cadena. RDBMS puede tener una sola columna o múltiples columnas (compuesto) clave primaria para una tabla. Una forma común de convertir es simplemente tener un separador entre las partes individuales después de convertir cada parte a una cadena. La clave de documento debe ser única para un cubo y por lo tanto es típicamente prefijada con el tipo de tabla (colección). Véase el blog con ejemplos de cómo hacerlo correctamente.