{"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\/nl\/blog\/news\/reliz-subd-duckdb-1-2-0","title":{"rendered":"Release van de database DuckDB 1.2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>De release van de DuckDB-databaseversie 1.2.0 is gepubliceerd, die gericht is op analytische query's en conceptueel lijkt op SQLite. DuckDB combineert de eigenschappen van SQLite, zoals compactheid, integratie als een inbeddingsbibliotheek, opslag van de database in \u00e9\u00e9n bestand en een CLI-interface, met mogelijkheden en optimalisaties voor het uitvoeren van analytische query's, die een aanzienlijk deel van de opgeslagen gegevens bestrijken, bijvoorbeeld het aggregeren van de volledige inhoud van tabellen of het samenvoegen van meerdere grote tabellen. De code van het project is geschreven in C++ en wordt verspreid onder de MIT-licentie.     <\/p>\n<p>DuckDB biedt een uitgebreide SQL-dialect, inclusief extra mogelijkheden voor het verwerken van zeer complexe en langdurige queries. Het is mogelijk om complexe types (arrays, structuren, unions) te gebruiken, evenals het uitvoeren van willekeurige en geneste correlerende subqueries. Gelijktijdige uitvoering van meerdere queries wordt ondersteund, evenals het direct uitvoeren van queries vanuit bestanden in CSV- en Parquet-formaten. Ondersteuning voor import vanuit PostgreSQL-databases is beschikbaar.    <\/p>\n<p>Het project maakt gebruik van een shell van SQLite, een parser van PostgreSQL, een Date Math-component van MonetDB, een eigen implementatie van venstervariabelen (gebaseerd op het Segment Tree Aggregation-algoritme), een reguliere expressie-verwerker op basis van de RE2-bibliotheek, een eigen query-optimalisator, een MVCC-mechanisme voor het beheer van gelijktijdige taakuitvoering (Multi-Version Concurrency Control), en ook een gevectoriseerde query-uitvoeringsengine op basis van het Hyper-Pipelining Query Execution-algoritme, waarmee grote sets waarden in \u00e9\u00e9n operatie tegelijk kunnen worden verwerkt.    <\/p>\n<p>In de nieuwe versie:  <\/p>\n<ul>\n<li class=\"l\"> De ondersteuning voor nieuwe compressiemethoden is ge\u00efmplementeerd, die standaard zijn uitgeschakeld om de compatibiliteit van databasebestanden met eerdere versies van DuckDB te behouden. Voor het gebruik van het verbeterde databaseformaat is de mogelijkheid ge\u00efntroduceerd om de database aan een versienummer te koppelen \u2014 bij het openen van een bestand met de parameter \u00abSTORAGE_VERSION\u00bb kan nu de minimaal ondersteunde versie van de database worden opgegeven (\u00abATTACH 'file.db' (STORAGE_VERSION 'v1.2.0');\u00bb). De SQL-opdracht COPY kan worden gebruikt om het nieuwe formaat naar het oude om te zetten, bijvoorbeeld: ATTACH 'file1.db'; ATTACH 'converted_file.db' (STORAGE_VERSION 'v1.0.0'); COPY FROM DATABASE file1 TO converted_file;\n<li class=\"l\"> Ondersteuning toegevoegd voor de SQL-opdracht \u00abALTER TABLE \u2026 ADD PRIMARY KEY\u00bb om een primaire sleutel toe te voegen aan een bestaande tabel.\n<li class=\"l\"> De beperking die het herhaaldelijk toevoegen van identificeerders met een unieke index verbood, is verwijderd, als die identificeerders binnen de huidige transactie zijn verwijderd. Bijvoorbeeld, de onderstaande SQL-code genereert nu geen fout: 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\"> Ondersteuning toegevoegd voor het laden van CSV-bestanden in de coderingen Latin-1 en UTF-16 (voorheen werd alleen UTF-8-encoding ondersteund). FROM read_csv('cities-latin-1.csv', encoding = 'latin-1');\n<li class=\"l\"> Ondersteuning toegevoegd voor het gebruik van multibyte scheidingstekens (tot 4 bytes) in CSV-bestanden, waardoor het mogelijk is om emoji's als kolomscheidingstekens op te geven. a\ud83e\udd84b hello\ud83e\udd84world FROM read_csv('example.dsv', sep = '\ud83e\udd84');\n<li class=\"l\"> Strikte parsingmodus voor CSV-bestanden is standaard ingeschakeld (\u00abstrict_mode = true\u00bb), wat controleert op de indeling volgens de specificatie RFC 4180. In strikte modus is alleen \u00e9\u00e9n teken toegestaan voor het scheiden van regels, wat tot een fout leidt bij het proberen te parseren van bestanden waarbij niet alleen het newline-teken, maar ook het carriage return-teken (\u00ab\r\n\u00bb) wordt gebruikt.\n<li class=\"l\"> De CSV-parser maakt gebruik van een nieuw algoritme voor het bepalen van nieuwe regels, dat parallelle operaties ondersteunt. Het gebruik van het nieuwe algoritme heeft de parsing van CSV-bestanden met ongeveer 15% versneld.\n<li class=\"l\"> De beperking op de grootte van rijen in CSV-bestanden is opgeheven (voorheen mocht een rij niet groter zijn dan 8 MB).\n<li class=\"l\"> Bij het exporteren van gegevens in Parquet-formaat is ondersteuning toegevoegd voor hashes (woordenboeken) en indexen op basis van Bloom-filters. De DELTA_BINARY_PACKED compressiemethode is ge\u00efmplementeerd, waardoor de grootte van Parquet-bestanden aanzienlijk kan worden verkleind.\n<li class=\"l\"> Een veilige modus is toegevoegd aan de opdrachtregelinterface, geactiveerd met de optie \u00ab-safe\u00bb of het commando \u00ab.safe_mode\u00bb. In deze modus is toegang alleen toegestaan tot het oorspronkelijk opgegeven databasebestand, en pogingen om andere bestanden te openen zullen een foutmelding genereren.\n<li class=\"l\"> In de commandoregelinterface is het automatisch aanvullen van invoer verbeterd. De code voor automatisch aanvullen is omgezet naar het gebruik van PEG (Parsing Expression Grammar).\n<li class=\"l\"> Bij het uitvoeren van commando's in de opdrachtregelinterface is er een visuele weergave van grote getallen ge\u00efmplementeerd. Bijvoorbeeld, bij het weergeven van het getal 100000000, wordt er bijkomend &#171;(100 miljoen)&#187; toegevoegd.\n<li class=\"l\"> In SQL is ondersteuning toegevoegd voor een syntaxis waarbij afgekorte namen van tabellen en uitdrukkingen v\u00f3\u00f3r de waarden die ze aanduiden kunnen worden vermeld (in plaats van de syntaxis &#171;uitdrukking AS naam&#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\"> In de &#171;SELECT&#187;-opdracht is ondersteuning voor de &#171;RENAME&#187;-bewerking ge\u00efmplementeerd om velden te hernoemen die worden weergegeven met de &#171;*&#187;-notatie: SELECT * RENAME (col1 AS new_col1) FROM integers;\n<li class=\"l\"> In de &#171;SELECT&#187;-opdracht is het gebruik van de bewerkingen &#171;LIKE&#187; en &#171;SIMILAR TO&#187; toegestaan bij het weergeven met &#171;*&#187;: SELECT * LIKE &#8216;val%&#8217; FROM key_val;\n<li class=\"l\"> De kwaliteit van de generatie van pseudo-willekeurige getallen is verbeterd.\n<li class=\"l\"> De query-optimizer is gemoderniseerd. De prestaties tijdens de TPC-H SF100-test zijn met 13% verhoogd.\n<li class=\"l\"> Er is een nieuwe C-achtige API voorgesteld voor de ontwikkeling van extensies, die kan worden gebruikt voor het cre\u00ebren van nieuwe aggregaat- of tabelfuncties.\n<li class=\"l\"> Ondersteuning voor systemen met de standaard C-bibliotheek Musl is toegevoegd.          <\/ul>\n<p>Bron: <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.3 - 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\/nl\/blog\/news\/reliz-subd-duckdb-1-2-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Release van de database DuckDB 1.2.0 | ProHoster","description":"De release van de database DuckDB 1.2.0 is gepubliceerd, gericht op het uitvoeren van analytische queries en conceptueel vergelijkbaar met SQLite.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/reliz-subd-duckdb-1-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/121901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=121901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/121901\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=121901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=121901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=121901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}