{"id":121901,"date":"2025-02-13T14:22:07","date_gmt":"2025-02-13T12:22:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-subd-duckdb-1-2-0"},"modified":"2025-02-13T14:22:07","modified_gmt":"2025-02-13T12:22:07","slug":"reliz-subd-duckdb-1-2-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-duckdb-1-2-0","title":{"rendered":"Lanzamiento de la base de datos DuckDB 1.2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Se ha publicado la versi\u00f3n 1.2.0 de la base de datos DuckDB, enfocada en la ejecuci\u00f3n de consultas anal\u00edticas y conceptualmente similar a SQLite. DuckDB combina caracter\u00edsticas de SQLite, como su compactibilidad, conectividad como una biblioteca integrada, almacenamiento en un solo archivo y una interfaz de l\u00ednea de comandos, con capacidades y optimizaciones para ejecutar consultas anal\u00edticas que abarcan una parte significativa de los datos almacenados, como realizar agregaciones sobre todo el contenido de tablas o fusionar varias tablas grandes. El c\u00f3digo del proyecto est\u00e1 escrito en C++ y se distribuye bajo la licencia MIT.     <\/p>\n<p>DuckDB proporciona un dialecto avanzado del lenguaje SQL, que incluye capacidades adicionales para manejar consultas muy complejas y de larga duraci\u00f3n. Es posible utilizar tipos complejos (arreglos, estructuras, uniones) y ejecutar subconsultas correlacionadas arbitrarias y anidadas. Se admite la ejecuci\u00f3n simult\u00e1nea de m\u00faltiples consultas, as\u00ed como la ejecuci\u00f3n de consultas directamente desde archivos en formatos CSV y Parquet. Tambi\u00e9n se encuentra disponible la importaci\u00f3n desde bases de datos PostgreSQL.    <\/p>\n<p>El proyecto utiliza un shell basado en SQLite, un analizador de PostgreSQL, un componente de Date Math de MonetDB, su propia implementaci\u00f3n 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\u00faltiples (Multi-Version Concurrency Control), as\u00ed como un motor de ejecuci\u00f3n de consultas vectorizado basado en el algoritmo Hyper-Pipelining Query Execution, que permite procesar grandes conjuntos de valores en una sola operaci\u00f3n.    <\/p>\n<p>En la nueva versi\u00f3n:  <\/p>\n<ul>\n<li class=\"l\"> Se ha implementado el soporte para nuevos m\u00e9todos de compresi\u00f3n que no est\u00e1n habilitados por defecto para mantener la compatibilidad de los archivos de base de datos con versiones anteriores de DuckDB. Para usar el nuevo formato de archivos de base de datos, se ofrece la opci\u00f3n de vincular la base de datos a un n\u00famero de versi\u00f3n: al abrir el archivo con el par\u00e1metro \u00abSTORAGE_VERSION\u00bb, ahora se puede establecer la versi\u00f3n m\u00ednima de base de datos admitida (\u00abATTACH 'file.db' (STORAGE_VERSION 'v1.2.0');\u00bb). Para convertir el nuevo formato al antiguo, se puede utilizar el comando SQL COPY, por ejemplo: ATTACH 'file1.db'; ATTACH 'converted_file.db' (STORAGE_VERSION 'v1.0.0'); COPY FROM DATABASE file1 TO converted_file;\n<li class=\"l\"> Se ha a\u00f1adido soporte para el comando SQL \u00abALTER TABLE \u2026 ADD PRIMARY KEY\u00bb para agregar una clave primaria a una tabla existente.\n<li class=\"l\"> Se ha eliminado la restricci\u00f3n que no permit\u00eda volver a agregar identificadores para los cuales existe un \u00edndice de seguimiento de unicidad, si esos identificadores fueron eliminados en la transacci\u00f3n actual. Por ejemplo, el siguiente c\u00f3digo SQL ahora no genera un error: CREATE TABLE students (id INTEGER PRIMARY KEY, name VARCHAR); INSERT INTO students VALUES (1, 'John Doe'); BEGIN; DELETE FROM students WHERE id = 1; INSERT INTO students VALUES (1, 'Jane Doe');\n<li class=\"l\"> Se ha a\u00f1adido soporte para la carga de archivos CSV en codificaciones Latin-1 y UTF-16 (anteriormente solo se admit\u00eda la codificaci\u00f3n UTF-8). FROM read_csv('cities-latin-1.csv', encoding = 'latin-1');\n<li class=\"l\"> Se ha a\u00f1adido soporte para el uso de delimitadores multibyte en archivos CSV (hasta 4 bytes), lo que permite especificar emoji como delimitador de columnas. a\ud83d\udc7db hello\ud83d\udc7dworld FROM read_csv('example.dsv', sep = '\ud83d\udc7d');\n<li class=\"l\"> Por defecto, se ha habilitado el modo estricto de an\u00e1lisis de archivos CSV (\u00abstrict_mode = true\u00bb), que verifica la conformidad con el formato de la especificaci\u00f3n RFC 4180. En modo estricto, solo se permite el uso de un car\u00e1cter para separar filas, lo que generar\u00e1 un error si se intenta analizar archivos donde se utilizan no solo el car\u00e1cter de nueva l\u00ednea, sino tambi\u00e9n el de retorno de carro (\u00ab\r\n\u00bb).\n<li class=\"l\"> El analizador CSV cuenta con un nuevo algoritmo de detecci\u00f3n de nueva l\u00ednea que admite la paralelizaci\u00f3n de operaciones. El uso del nuevo algoritmo ha acelerado el an\u00e1lisis de CSV en aproximadamente un 15%.\n<li class=\"l\"> Se ha eliminado la limitaci\u00f3n en el tama\u00f1o de la l\u00ednea en archivos CSV (anteriormente, la l\u00ednea no deb\u00eda exceder 8 MB).\n<li class=\"l\"> Al exportar datos en formato Parquet se implement\u00f3 el soporte para hashes (diccionarios) y \u00edndices basados en filtros de Bloom. Se ha implementado el m\u00e9todo de compresi\u00f3n DELTA_BINARY_PACKED, que permite reducir significativamente el tama\u00f1o de los archivos Parquet.\n<li class=\"l\"> Se ha a\u00f1adido un modo seguro en la interfaz de la l\u00ednea de comandos, que se activa mediante la opci\u00f3n \u00ab-safe\u00bb o el comando \u00ab.safe_mode\u00bb. En este modo, solo se permite el acceso al archivo de base de datos especificado inicialmente, y un intento de abrir otros archivos generar\u00e1 un error.\n<li class=\"l\"> En la interfaz de l\u00ednea de comandos se ha mejorado el autocompletado de entrada. El c\u00f3digo para el autocompletado se ha trasladado a un uso de PEG (Gram\u00e1tica de Expresi\u00f3n de An\u00e1lisis).\n<li class=\"l\"> Al ejecutar comandos en la interfaz de l\u00ednea de comandos, se implementa una visualizaci\u00f3n clara de grandes n\u00fameros, por ejemplo, al mostrar el n\u00famero 100000000, se a\u00f1adir\u00e1 la anotaci\u00f3n &#171;(100 millones)&#187;.\n<li class=\"l\"> En SQL se ha agregado soporte para una sintaxis en la que se pueden especificar nombres abreviados de tablas y expresiones antes de los valores a los que se refieren (en lugar de usar la sintaxis &#171;expresi\u00f3n AS nombre&#187;): SELECT e1: some_long_and_winding_expression, e2: t2.a_column_name FROM t1: long_schema.some_long_table_name, t2: short_s.tbl;\n<li class=\"l\"> En el comando &#171;SELECT&#187; se ha implementado el soporte para la operaci\u00f3n &#171;RENAME&#187; para renombrar campos, los cuales se muestran al especificar la expresi\u00f3n &#171;*&#187;: SELECT * RENAME (col1 AS new_col1) FROM integers;\n<li class=\"l\"> En el comando &#171;SELECT&#187; se permite el uso de las operaciones &#171;LIKE&#187; y &#171;SIMILAR TO&#187; al mostrar a trav\u00e9s de &#171;*&#187;: SELECT * LIKE &#8216;val%&#8217; FROM key_val;\n<li class=\"l\"> Se ha mejorado la calidad de la generaci\u00f3n de n\u00fameros pseudoaleatorios.\n<li class=\"l\"> Se ha modernizado el optimizador de consultas. El rendimiento en la prueba TPC-H SF100 ha aumentado en un 13%.\n<li class=\"l\"> Se presenta una nueva API similar a C para el desarrollo de complementos, que se puede utilizar, por ejemplo, para crear nuevas funciones agregadas o tabulares.\n<li class=\"l\"> Se ha a\u00f1adido soporte para sistemas con la biblioteca est\u00e1ndar de C Musl.          <\/ul>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62712\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite. DuckDB \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 SQLite, \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0411\u0414 \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438 CLI-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0445 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0442\u0430\u0431\u043b\u0438\u0446 \u0438\u043b\u0438 \u0441\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121901","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-duckdb-1-2-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 DuckDB 1.2.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-duckdb-1-2-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-13T12:22:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-13T12:22:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lanzamiento de la base de datos DuckDB 1.2.0 | ProHoster","description":"Se ha publicado la versi\u00f3n 1.2.0 de la base de datos DuckDB, dise\u00f1ada para ejecutar consultas anal\u00edticas y conceptualmente similar a SQLite.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-duckdb-1-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 DuckDB 1.2.0 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite.","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-subd-duckdb-1-2-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-02-13T12:22:07+00:00","article:modified_time":"2025-02-13T12:22:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121901","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 10:33:44","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:33:44","updated":"2026-01-23 10:33:44","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/121901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=121901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/121901\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=121901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=121901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=121901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}