{"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\/no\/blog\/news\/reliz-subd-duckdb-1-2-0","title":{"rendered":"Utgivelse av DBMS DuckDB 1.2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Utgitt er versjon 1.2.0 av databasesystemet DuckDB, som er designet for \u00e5 utf\u00f8re analyser og har konsepter som ligner p\u00e5 SQLite. DuckDB kombinerer egenskapene til SQLite, som kompakthet, tilkobling som en innebygd bibliotek, lagring av databasen i \u00e9n fil, og en CLI-grensesnitt, med muligheter og optimaliseringer for \u00e5 utf\u00f8re sp\u00f8rringer p\u00e5 analyser, som dekker en betydelig del av de lagrede dataene, for eksempel ved \u00e5 akkumulerer alt innholdet i tabeller eller sl\u00e5 sammen flere store tabeller. Prosjektkoden er skrevet i C++ og distribueres under MIT-lisensen.     <\/p>\n<p>DuckDB tilbyr en utvidet dialekt av SQL, som inkluderer ekstra funksjoner for \u00e5 h\u00e5ndtere sv\u00e6rt komplekse og langvarige sp\u00f8rringer. Det er mulig \u00e5 bruke avanserte datatyper (array, strukturer, unioner), samt \u00e5 utf\u00f8re vilk\u00e5rlige og innkapslede korrelerte under-sp\u00f8rringer. Samtidig kj\u00f8ring av flere sp\u00f8rringer st\u00f8ttes, sammen med direkte sp\u00f8rring fra filer i CSV- og Parquet-formater. St\u00f8tte for import fra PostgreSQL-databaser er ogs\u00e5 tilgjengelig.    <\/p>\n<p>Prosjektet bruker et skall fra SQLite, parser fra PostgreSQL, komponenten Date Math fra MonetDB, sin egen implementering av vindusfunksjoner (basert p\u00e5 Segment Tree Aggregation-algoritmen), en regul\u00e6r uttrykksh\u00e5ndterer basert p\u00e5 RE2-biblioteket, egne sp\u00f8rringsoptimalisatorer, MVCC-mekanisme for h\u00e5ndtering av samtidige oppgaver (Multi-Version Concurrency Control), samt en vektorisert sp\u00f8rringsmotor basert p\u00e5 Hyper-Pipelining Query Execution-algoritmen, som gj\u00f8r det mulig \u00e5 behandle store sett med verdier i \u00e9n operasjon.    <\/p>\n<p>I den nye versjonen:  <\/p>\n<ul>\n<li class=\"l\"> Implementert st\u00f8tte for nye komprimeringsmetoder som ikke er aktivert som standard for \u00e5 bevare kompatibiliteten til DB-filer med eldre versjoner av DuckDB. For \u00e5 bruke det forbedrede formatet for DB-filer, er det lagt til muligheten for \u00e5 knytte DB-en til versjonsnummeret \u2014 n\u00e5r du \u00e5pner filen med parameteren \u00abSTORAGE_VERSION\u00bb kan du n\u00e5 angi den minste st\u00f8ttede DB-versjonen (\u00abATTACH 'file.db' (STORAGE_VERSION 'v1.2.0');\u00bb). For \u00e5 konvertere det nye formatet til det gamle kan du bruke SQL-kommandoen COPY, for eksempel: ATTACH 'file1.db'; ATTACH 'converted_file.db' (STORAGE_VERSION 'v1.0.0'); COPY FROM DATABASE file1 TO converted_file;\n<li class=\"l\"> St\u00f8tte for SQL-kommandoen \u00abALTER TABLE \u2026 ADD PRIMARY KEY\u00bb er lagt til for \u00e5 legge til prim\u00e6rn\u00f8kkel i en eksisterende tabell.\n<li class=\"l\"> Begrensningen som tidligere forhindret gjeninntak av identifikatorer, for hvilke det finnes unikhetsindeksering, hvis disse identifikatorene var blitt slettet i den n\u00e5v\u00e6rende transaksjonen, er fjernet. For eksempel, f\u00f8lgende SQL-kode f\u00f8rer n\u00e5 ikke til en feil: 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\"> St\u00f8tte for innlasting av CSV-filer i kodinger Latin-1 og UTF-16 er lagt til (tidligere ble kun UTF-8 st\u00f8ttet). FROM read_csv('cities-latin-1.csv', encoding = 'latin-1');\n<li class=\"l\"> St\u00f8tte for bruk av flermengde separatorer (opp til 4 byte) i CSV-filer er lagt til, noe som muliggj\u00f8r bruk av emoji som kolonne-separatorer. a\ud83d\udc19b hello\ud83d\udc19world FROM read_csv('example.dsv', sep = '\ud83d\udc19');\n<li class=\"l\"> Streng parsemodus for CSV-filer er aktivert som standard ('strict_mode = true'), noe som sjekker at formatet overholder spesifikasjonen RFC 4180. I strengt modus er det kun tillatt \u00e5 bruke ett tegn for strengseparator, hvilket vil f\u00f8re til en feil ved fors\u00f8k p\u00e5 \u00e5 analysere filer der det ikke kun brukes linjeskift, men ogs\u00e5 vognretur-tegn ('\r\n') for \u00e5 skille rader.\n<li class=\"l\"> Parseren for CSV anvender en ny algoritme til bestemmelse af nye linjer, som underst\u00f8tter parallelisering af operationer. Anvendelsen af den nye algoritme har \u00f8get hastigheden af CSV-parsingen med cirka 15%.\n<li class=\"l\"> Begr\u00e6nsningen p\u00e5 st\u00f8rrelsen af en linje 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 implementeret underst\u00f8ttelse af hashes (ordb\u00f8ger) og indekser baseret p\u00e5 Bloom-filter. Der er implementeret en komprimeringsmetode, DELTA_BINARY_PACKED, der v\u00e6sentligt reducerer st\u00f8rrelsen af Parquet-filer.\n<li class=\"l\"> En sikker modus har blitt lagt til i kommandolinjegrensesnittet, aktivert via alternativet '-safe' eller kommandoen '.safe_mode'. I denne modusen er tilgangen kun tillatt til den opprinnelig spesifiserte DB-filen, og fors\u00f8k p\u00e5 \u00e5 \u00e5pne andre filer vil generere en feil.\n<li class=\"l\"> Autocompletion af input i kommandolinjegr\u00e6nsefladen er forbedret. Koden til autocompletion er blevet omdannet til at bruge PEG (Parsing Expression Grammar).\n<li class=\"l\"> N\u00e5r du utf\u00f8rer kommandoer i kommandolinjegrensesnittet, er det implementert en visuell fremstilling av store tall, for eksempel n\u00e5r tallet 100000000 vises, vil det i tillegg bli lagt til \u00ab(100 millioner).\u00bb\n<li class=\"l\"> I SQL er det lagt til st\u00f8tte for syntaks der forkortede navn p\u00e5 tabeller og uttrykk kan angis f\u00f8r verdiene de refererer til (i stedet for \u00e5 bruke syntaksen \u00abuttrykk AS navn\u00bb): 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 \u00abSELECT\u00bb-kommandoen er det implementert st\u00f8tte for \u00abRENAME\u00bb-operasjonen for \u00e5 omd\u00f8pe feltene som vises n\u00e5r uttrykket \u00ab*\u00bb angis: SELECT * RENAME (col1 AS new_col1) FROM integers;\n<li class=\"l\"> I \u00abSELECT\u00bb-kommandoen er bruk av operasjonene \u00abLIKE\u00bb og \u00abSIMILAR TO\u00bb tillatt n\u00e5r man henter ut med \u00ab*\u00bb: SELECT * LIKE \u2018val%\u2019 FROM key_val;\n<li class=\"l\"> Kvaliteten af genereringen af pseudotilf\u00e6ldige tal er blevet forbedret.\n<li class=\"l\"> Optimeringsv\u00e6rkt\u00f8jet til foresp\u00f8rgsler er blevet moderniseret. Ydelsen ved TPC-H SF100 testen er steget med 13%.\n<li class=\"l\"> Det er foresl\u00e5tt en ny C-liknende API for utvikling av tillegg, som kan brukes for eksempel for \u00e5 lage nye aggregat- eller tabellfunksjoner.\n<li class=\"l\"> St\u00f8tte for systemer med standard C-biblioteket Musl er lagt til.          <\/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.5 - 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\/no\/blog\/news\/reliz-subd-duckdb-1-2-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\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\/no\/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\udd47Utgivelse av DBMS DuckDB 1.2.0 | ProHoster","description":"Utgivelsen av DBMS DuckDB 1.2.0, som er fokusert p\u00e5 \u00e5 utf\u00f8re analytiske foresp\u00f8rsel og konseptuelt ligner p\u00e5 SQLite, er publisert.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/news\/reliz-subd-duckdb-1-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","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\/no\/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\/no\/wp-json\/wp\/v2\/posts\/121901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=121901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/121901\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=121901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=121901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=121901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}