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 | JSON model with N1QL (SQL for JSON) |
| Tipos de datos |
Oracle Data Types Reference |
Couchbase Data Types Reference |
| String Data Types | CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR, LONGVARCHAR | String (Unicode), up to 20 MB |
| Date & Time Data Types | DATE, TIME, TIMESTAMP (with timezone), INTERVAL |
ISO-8601 strings with N1QL date functions Detailed article |
| Booleano | BOOLEAN | true / false |
| Numérico | NUMBER, DECIMAL, BIGINT, SMALLINT, INTEGER, FLOAT, REAL, DOUBLE |
Integer, fractional, exponential values Numeric ranges |
| Tipos de datos binarios | BINARY, VARBINARY, LONGVARBINARY | Binary document or Base64 encoded values |
| Tipos de datos de objetos grandes | BLOB, RAW, LONG_RAW, CLOB | Each document up to 20 MB |
| Objetos |
User-defined object types Oracle Object Types |
Native JSON objects with unlimited nesting |
| Matrices |
VARRAY with predefined type VARRAY documentation |
First-class JSON arrays of mixed types "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.