Pet project para analizar cómo almacenar JSON puede impactar en base de datos y en los tiempos de ejecución de la aplicación.
Se prueba a insertar el JSON en una base de datos Postgres como:
- Texto plano
- JSON
- JSONB
- Array de bytes
- Array de bytes comprimido con GZIP
- Array de bytes comprimido con ZSTD
- Array de bytes comprimido con Snappy
En todos los tests se ejecutan la inserción de 100000 registros de datos autogenerados.
| Métrica | Tiempo (milisegundos) |
|---|---|
| Tiempo de construcción de entidades | 2182 |
| Tiempo de inserción en base de datos | 49394 |
| Tamaño de tabla de base de datos | 395 MB |
| Métrica | Tiempo (milisegundos) |
|---|---|
| Tiempo de construcción de entidades | 255 |
| Tiempo de inserción en base de datos | 78427 |
| Tamaño de tabla de base de datos | 394 MB |
| Métrica | Tiempo (milisegundos) |
|---|---|
| Tiempo de construcción de entidades | 39 |
| Tiempo de inserción en base de datos | 85416 |
| Tamaño de tabla de base de datos | 434 MB |
| Métrica | Tiempo (milisegundos) |
|---|---|
| Tiempo de construcción de entidades | 8513 |
| Tiempo de inserción en base de datos | 62460 |
| Tamaño de tabla de base de datos | 480 MB |
| Métrica | Tiempo (milisegundos) |
|---|---|
| Tiempo de construcción de entidades | 12378 |
| Tiempo de inserción en base de datos | 29576 |
| Tiempo de ejecución de consulta | 2693 |
| Tiempo de mapeo a objeto de Java | 4589 |
| Tamaño de tabla de base de datos | 277 MB |
| Métrica | Tiempo (milisegundos) |
|---|---|
| Tiempo de construcción de entidades | 11905 |
| Tiempo de inserción en base de datos | 31430 |
| Tiempo de ejecución de consulta | 3044 |
| Tiempo de mapeo a objeto de Java | 17771 |
| Tamaño de tabla de base de datos | 282 MB |
| Métrica | Tiempo (milisegundos) |
|---|---|
| Tiempo de construcción de entidades | 3523 |
| Tiempo de inserción en base de datos | 41056 |
| Tiempo de ejecución de consulta | 6990 |
| Tiempo de mapeo a objeto de Java | 4306 |
| Tamaño de tabla de base de datos | 415 MB |