6 puntos por xguru 2020-12-04 | 6 comentarios | Compartir por WhatsApp

"SQLite para analítica"

  • RDBMS embebido optimizado para consultas analíticas complejas

  • Escrito en C++11 como un binario único sin dependencias que se ejecuta dentro del proceso host

  • Ofrece APIs para Python/R/Java/C/C++/Node.js

  • Almacena la base de datos en un solo archivo, como SQLite

  • Casos de uso adecuados

→ Procesamiento y almacenamiento de datos tabulares como CSV/Parquet

→ Análisis interactivo de datos haciendo Join y Aggregate sobre varias tablas grandes

→ Cuando se realizan grandes cambios simultáneos sobre varias tablas grandes (agregar múltiples filas o agregar/eliminar/modificar columnas, etc.)

6 comentarios

 
xguru 2020-12-04

Parece que apunta a dividir las cosas en las DB embebidas: SQLite para OLTP y DuckDB para OLAP.

A diferencia de SQLite, que salió hace 20 años y ya domina por completo el lado embebido, este es un proyecto open source recién llegado, ya que apenas ha pasado alrededor de año y medio desde la salida de la versión 0.1. ^^

Hace unos días se añadió una nueva API para node.js, así que da la impresión de que ahora es más cómodo usarlo de varias maneras.

 
galadbran 2020-12-04

Cada vez que lo veo, siento que no entiendo claramente la diferencia entre OLTP y OLAP. T_T Parece que tampoco hay mucho contenido que lo explique de una forma realmente clara.

 
galadbran 2020-12-05

Sí, como las explicaciones con las que uno suele toparse normalmente hablan de transacciones y análisis (tal cual indica el nombre), los RDB famosos suelen ser rápidos tanto para insertar y sacar datos como para las tareas de análisis. Por ejemplo, no es que Oracle o PostgreSQL estén claramente especializados en uno u otro lado... además, siento que el análisis en la era del big data de todos modos ya se fue lejísimos de ese tipo de sistemas, así que lo que quería decir es que todavía no entiendo muy bien qué sentido tiene seguir distinguiendo entre OLTP y OLAP hoy en día ^^;

 
nicewook 2020-12-04

OLTP está especializado en insertar, sacar, borrar y ese tipo de cosas.

OLAP consiste más o menos en manipular de distintas maneras los datos que ya están dentro para analizarlos.

¿Podría verse así, más o menos?

 
xguru 2020-12-04

Mmm... la forma en que yo lo explico es:

  • OLTP es horizontal: se agrega algo por filas, una línea a la vez (entra un nuevo pedido)

  • OLAP es vertical: se lee una columna completa para calcular o modificar algo (calcular el promedio de ventas diarias)

 
amdev 2024-06-05

OLTP es horizontal
OLAP es vertical