{"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\/da\/blog\/news\/reliz-subd-duckdb-1-2-0","title":{"rendered":"Udgivelsen af databasen DuckDB 1.2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Udgaven er udgivet SDB DuckDB 1.2.0, der er rettet mod udf\u00f8relse af analytiske foresp\u00f8rgsler og som konceptuelt minder om SQLite. DuckDB kombinerer egenskaberne ved SQLite, s\u00e5som kompakthed, indlejret bibliotekstilkobling, opbevaring af databaser i \u00e9n fil og en CLI-gr\u00e6nseflade, med funktioner og optimeringer til udf\u00f8relse af analytiske foresp\u00f8rgsler, der d\u00e6kker en betydelig del af de gemte data, f.eks. ved at aggregere al indholdet af tabeller eller sammenflette flere store tabeller. Projektkoden er skrevet i C++ og distribueres under MIT-licensen.     <\/p>\n<p>DuckDB tilbyder en udvidet SQL-dialekt, der inkluderer ekstra funktioner til behandling af meget komplekse og langvarige foresp\u00f8rgsler. Det er muligt at bruge komplekse typer (arrays, strukturer, unioner), samt udf\u00f8re vilk\u00e5rlige og indlejrede korrelerede underforesp\u00f8rgsler. Samtidig udf\u00f8relse af flere foresp\u00f8rgsler er underst\u00f8ttet, ligesom udf\u00f8relse af foresp\u00f8rgsler direkte fra filer i formaterne CSV og Parquet. Der er ogs\u00e5 st\u00f8tte til import fra SDB PostgreSQL.    <\/p>\n<p>Projektet bruger en skal fra SQLite, parser fra PostgreSQL, Date Math-komponent fra MonetDB, sin egen implementering af vinduesfunktioner (baseret p\u00e5 Segment Tree Aggregation-algoritmen), en regex-behandler baseret p\u00e5 RE2-biblioteket, sit eget foresp\u00f8rgselsoptimeringssystem, og MVCC-mekanismen til h\u00e5ndtering af samtidige opgaver (Multi-Version Concurrency Control), samt en vektoriseret foresp\u00f8rgselsudf\u00f8relse motor baseret p\u00e5 Hyper-Pipelining Query Execution-algoritmen, der muligg\u00f8r behandling af store v\u00e6rds\u00e6t i \u00e9n operation.    <\/p>\n<p>I den nye version:  <\/p>\n<ul>\n<li class=\"l\"> Der er blevet implementeret support for nye komprimeringsmetoder, der ikke er aktiveret som standard for at bevare kompatibiliteten med tidligere versioner af DuckDBs databasefiler. For at bruge det forbedrede format af databasefiler er der tilbudt mulighed for at knytte databasen til versionsnummeret \u2014 n\u00e5r du \u00e5bner filen med parameteren \u00abSTORAGE_VERSION\u00bb, kan du nu angive den minimalt underst\u00f8ttede versionsnummer (\u00abATTACH \u2018file.db\u2019 (STORAGE_VERSION \u2018v1.2.0\u2019);\u00bb). For at konvertere det nye format til det gamle kan du bruge SQL-kommandoen COPY, for eksempel: ATTACH \u2018file1.db\u2019; ATTACH \u2018converted_file.db\u2019 (STORAGE_VERSION \u2018v1.0.0\u2019); COPY FROM DATABASE file1 TO converted_file;\n<li class=\"l\"> Der er tilf\u00f8jet support for SQL-kommandoen \u00abALTER TABLE ... ADD PRIMARY KEY\u00bb til at tilf\u00f8je en prim\u00e6r n\u00f8gle til en eksisterende tabel.\n<li class=\"l\"> Begr\u00e6nsningen, der forhindrede geninds\u00e6ttelse af ID'er for hvilke der er tilstede en unik indholdsindeks, hvis disse ID'er blev slettet i den nuv\u00e6rende transaktion, er fjernet. For eksempel, nedenst\u00e5ende SQL-kode medf\u00f8rer nu ikke en fejl: CREATE TABLE students (id INTEGER PRIMARY KEY, name VARCHAR); INSERT INTO students VALUES (1, \u2018John Doe\u2019); BEGIN; DELETE FROM students WHERE id = 1; INSERT INTO students VALUES (1, \u2018Jane Doe\u2019);\n<li class=\"l\"> Der er blevet tilf\u00f8jet support for upload af CSV-filer i Latin-1 og UTF-16 kodninger (tidligere blev kun UTF-8 kodningen underst\u00f8ttet). FROM read_csv(\u2018cities-latin-1.csv\u2019, encoding = \u2018latin-1\u2019);\n<li class=\"l\"> Der er blevet tilf\u00f8jet support til at bruge multibyte separatorer (op til 4 bytes) i CSV-filer, hvilket g\u00f8r det muligt at angive emoji som separatorer for kolonner. a\ud83d\udc7db hello\ud83d\udc7dworld FROM read_csv(\u2018example.dsv\u2019, sep = \u2018\ud83d\udc7d\u2019);\n<li class=\"l\"> Strikt tilstandsindstillingen for CSV-filer er som standard aktiveret (\u2019strict_mode = true\u2019), der kontrollerer, om formateringen overholder RFC 4180 specifikationen. I streng tilstand tillades kun \u00e9t tegn til at adskille linjer, hvilket resulterer i en fejl ved fors\u00f8g p\u00e5 at analysere filer, hvor linjeadskillelsen ikke kun er et linjeskift, men ogs\u00e5 et vognretur (\u2018\r\n\u2019).\n<li class=\"l\"> En ny algoritme til at bestemme nye linjer er implementeret i CSV-parseren, som underst\u00f8tter parallelisering af operationer. Brug af den nye algoritme har \u00f8get hastigheden p\u00e5 CSV-parsing med cirka 15%.\n<li class=\"l\"> Begr\u00e6nsningen p\u00e5 str\u00f8rrelse af linjer i CSV-filer er fjernet (tidligere m\u00e5tte en linje ikke overstige 8 MB).\n<li class=\"l\"> N\u00e5r der eksporteres data i Parquet-format, er der nu support for hashes (ordb\u00f8ger) og indekser baseret p\u00e5 Bloom-filteret. Der er implementeret en komprimeringsmetode, DELTA_BINARY_PACKED, der signifikant reducerer st\u00f8rrelsen af Parquet-filer.\n<li class=\"l\"> Der er tilf\u00f8jet en sikker tilstand i kommandolinjegr\u00e6nsefladen, der aktiveres med optionen \u2018-safe\u2019 eller kommandoen \u2018.safe_mode\u2019. I denne tilstand gives der kun adgang til den oprindeligt angivne databasefil, og hvis der fors\u00f8ges at \u00e5bne andre filer, vil der opst\u00e5 en fejl.\n<li class=\"l\"> Autocompletion input i kommandolinjegr\u00e6nsefladen er forbedret. Koden for autocompletion er blevet omdannet til at bruge PEG (Parsing Expression Grammar).\n<li class=\"l\"> Ved udf\u00f8relse af kommandoer i kommandolinjegr\u00e6nsefladen er der indf\u00f8rt en visuel visning af store tal, for eksempel n\u00e5r tallet 100000000 vises, vil der blive tilf\u00f8jet &#171;(100 millioner)&#187;.\n<li class=\"l\"> I SQL er der tilf\u00f8jet st\u00f8tte til syntaks, hvor forkortede navne p\u00e5 tabeller og udtryk kan angives f\u00f8r de v\u00e6rdier, de refererer til (i stedet for at bruge syntaksen &#171;udtryk AS navn&#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\"> I &#171;SELECT&#187; kommandoen er der tilf\u00f8jet st\u00f8tte til &#171;RENAME&#187; operationen til at omd\u00f8be felter, der vises, n\u00e5r udtrykket &#171;*&#187; angives: SELECT * RENAME (col1 AS new_col1) FROM integers;\n<li class=\"l\"> I &#171;SELECT&#187; kommandoen er brugen af operationerne &#171;LIKE&#187; og &#171;SIMILAR TO&#187; tilladt ved visning gennem &#171;*&#187;: SELECT * LIKE &#8216;val%&#8217; FROM key_val;\n<li class=\"l\"> Kvaliteten af genereringen af pseudorandomtal er forbedret.\n<li class=\"l\"> Optimeringsmotoren er blevet moderniseret. Ydelsen under TPC-H SF100-testen er steget med 13%.\n<li class=\"l\"> En ny C-lignende API til udvikling af plugins er blevet foresl\u00e5et, som kan bruges til eksempelvis at skabe nye aggregat- eller tabel-funktioner.\n<li class=\"l\"> Support er blevet tilf\u00f8jet for systemer med standard C-biblioteket Musl.          <\/ul>\n<p>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47Udgivelse af database-systemet DuckDB 1.2.0 | ProHoster","description":"Udgivelsen af database-systemet DuckDB 1.2.0 er offentliggjort, som er orienteret mod at udf\u00f8re analytiske foresp\u00f8rgsler og konceptuelt minder om SQLite.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/reliz-subd-duckdb-1-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/121901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=121901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/121901\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=121901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=121901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=121901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}