Wed. Dec 25th, 2024

DuckDB: Sistema de gestión de bases de datos SQL OLAP en desarrollo

By admin Jan 30, 2024

¿Qué es DuckDB?

DuckDB es un DBMS relacional (orientado a tablas) que apoya la Lenguaje de consulta estructurado (SQL).

DuckDB está diseñado para soportar cargas de trabajo de consultas analíticastambién conocido como Procesamiento analítico en línea (OLAP). Estas cargas de trabajo se caracterizan por consultas complejas y de duración relativamente larga que procesan porciones importantes del conjunto de datos almacenado, por ejemplo, agregaciones de tablas enteras o uniones entre varias tablas grandes. También se espera que los cambios en los datos sean a gran escala, con la adición de varias filas o la modificación o adición de grandes porciones de tablas al mismo tiempo.

DuckDB tiene sin dependencias externas, ni para compilación ni durante el tiempo de ejecución. Para las versiones, todo el árbol fuente de DuckDB se compila en dos archivos, un encabezado y un archivo de implementación, lo que se denomina “fusión”. Esto simplifica enormemente la implementación y la integración en otros procesos de compilación. Para compilar, todo lo que se necesita para compilar DuckDB es un compilador de C++ 11 que funcione.

Para DuckDB, no hay ningún software de servidor DBMS que instalar, actualizar y mantener. DuckDB no se ejecuta como un proceso separado, sino completamente integrado dentro de un proceso anfitrión. Para los casos de uso analítico a los que se dirige DuckDB, esto tiene la ventaja adicional de transferencia de datos de alta velocidad hacia y desde la base de datos. En algunos casos, DuckDB puede procesar datos externos sin copiarlos. Por ejemplo, el paquete DuckDB Python puede ejecutar consultas directamente sobre los datos de Pandas sin importar ni copiar ningún dato.

Características

  1. De código abierto y gratuito
  2. Documentación fácil de usar para desarrolladores
  3. Transacciones, persistencia
  4. Amplio soporte SQL
  5. Consulta directa de Parquet y CSV
  6. En proceso, sin servidor
  7. C++ 11, sin dependencias, compilación de un solo archivo
  8. Rápido y extremadamente ligero
  9. Optimizado para análisis
  10. Procesar y almacenar conjuntos de datos tabulares, por ejemplo, desde archivos CSV o Parquet
  11. Análisis de datos interactivo, por ejemplo, unir y agregar varias tablas grandes.
  12. Grandes cambios simultáneos en varias tablas grandes, por ejemplo, agregar filas, agregar/eliminar/actualizar columnas
  13. Transferencia de un gran conjunto de resultados al cliente
  14. Procesamiento de consultas en paralelo
  15. API incorporada
  16. Varios clientes nativos para Python, Java, R, C++, C, Node.js, WASM y una aplicación CLI
  17. Optimizado en masa incorporado Control de concurrencia multiversión (MVCC).
  18. CPU optimizada
  19. Soporta consultas OLAP

¿Cuándo no utilizar DuckDB?

  • Casos de uso transaccionales de gran volumen (por ejemplo, seguimiento de pedidos en una tienda web)
  • Grandes instalaciones cliente/servidor para almacenamiento de datos empresariales centralizado
  • Escribir en una única base de datos desde múltiples procesos simultáneos

Licencia

El proyecto se publica bajo la licencia MIT.

Recursos

Etiquetas

análisis de datos Fuente abierta Base de datos Big Data ciencia de datos ingeniería de datos Desarrollo autohospedado Basado en la web

By admin

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *