La compañía Amazon ha anunciado la compra de DuckLabs, desarrolladora de la base de datos abierta DuckDB. El proceso de adquisición se completó el 31 de agosto, y el monto de la transacción no se revela. El equipo de desarrolladores de DuckDB se unirá a AWS y continuará trabajando en las tecnologías de DuckDB bajo la supervisión de los cofundadores de DuckLabs.
Los desarrollos de DuckDB están destinados a modernizar, simplificar y aumentar la eficiencia de la pila analítica ofrecida en la plataforma AWS. El servicio Amazon S3 tiene la intención de transformarse en un almacén con capacidades integradas para el análisis de datos. La base de código de DuckDB seguirá evolucionando como un proyecto de código abierto, distribuido bajo la licencia MIT y supervisado por la organización sin fines de lucro DuckDB Foundation. Se destaca que unirse a AWS ampliará la audiencia de usuarios de DuckDB y proporcionará recursos adicionales para implementar nuevas ideas para escalar la base de datos.
La base de datos DuckDB es conceptualmente similar a SQLite y combina propiedades como la compactibilidad, la conexión como biblioteca integrada, el almacenamiento de la base de datos en un único archivo y una interfaz de línea de comandos, con capacidades y optimizaciones para ejecutar consultas analíticas que abarcan una parte significativa de los datos almacenados, por ejemplo, realizando la agregación de todo el contenido de las tablas o la fusión de varias tablas grandes. La base de datos admite un dialecto extendido del lenguaje SQL, que incluye características adicionales para procesar consultas complejas, de larga duración y anidadas.
El proyecto utiliza un shell basado en SQLite, un analizador de PostgreSQL, un componente de Date Math de MonetDB, su propia implementación de funciones de ventana (basada en el algoritmo Segment Tree Aggregation), un manejador de expresiones regulares basado en la biblioteca RE2, un optimizador de consultas propio, un mecanismo MVCC de control de concurrencia de versiones múltiples (Multi-Version Concurrency Control), así como un motor de ejecución de consultas vectorizado basado en el algoritmo Hyper-Pipelining Query Execution, que permite procesar grandes conjuntos de valores en una sola operación.
Fuente: opennet.ru
