{"id":143994,"date":"2025-09-22T17:11:59","date_gmt":"2025-09-22T15:11:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-subd-duckdb-1-4-0-s-podderzhkoj-shifrovaniya-bd"},"modified":"2025-09-22T17:11:59","modified_gmt":"2025-09-22T15:11:59","slug":"reliz-subd-duckdb-1-4-0-s-podderzhkoj-shifrovaniya-bd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-duckdb-1-4-0-s-podderzhkoj-shifrovaniya-bd","title":{"rendered":"Publication de la base de donn\u00e9es DuckDB 1.4.0 avec support du chiffrement de la base de donn\u00e9es","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La version 1.4.0 de la base de donn\u00e9es DuckDB, con\u00e7ue pour ex\u00e9cuter des requ\u00eates analytiques et conceptuellement similaire \u00e0 SQLite, a \u00e9t\u00e9 publi\u00e9e. DuckDB combine des propri\u00e9t\u00e9s de SQLite telles que compacit\u00e9, int\u00e9gration en tant que biblioth\u00e8que embarqu\u00e9e, stockage de la base de donn\u00e9es dans un seul fichier, et interface en ligne de commande, avec des fonctionnalit\u00e9s et des optimisations pour ex\u00e9cuter des requ\u00eates analytiques couvrant une partie significative des donn\u00e9es stock\u00e9es, comme effectuer des agr\u00e9gations sur l'ensemble du contenu des tables ou fusionner plusieurs grandes tables. Le code du projet est \u00e9crit en C++ et est distribu\u00e9 sous licence MIT.     <\/p>\n<p>DuckDB fournit un dialecte SQL \u00e9tendu, incluant des fonctionnalit\u00e9s suppl\u00e9mentaires pour traiter des requ\u00eates tr\u00e8s complexes et de longue dur\u00e9e. Il est possible d'utiliser des types complexes (tableaux, structures, unions), ainsi que d'ex\u00e9cuter des sous-requ\u00eates corr\u00e9l\u00e9es arbitraires et imbriqu\u00e9es. L'ex\u00e9cution simultan\u00e9e de plusieurs requ\u00eates est support\u00e9e, ainsi que l'ex\u00e9cution de requ\u00eates directement \u00e0 partir de fichiers au format CSV et Parquet. Un support pour l'importation \u00e0 partir de bases de donn\u00e9es PostgreSQL est \u00e9galement disponible.    <\/p>\n<p>Le projet utilise un shell bas\u00e9 sur SQLite, un analyseur provenant de PostgreSQL, un composant Date Math de MonetDB, sa propre impl\u00e9mentation de fonctions de fen\u00eatres (bas\u00e9e sur l'algorithme Segment Tree Aggregation), un gestionnaire d'expressions r\u00e9guli\u00e8res sur la base de la biblioth\u00e8que RE2, son propre optimiseur de requ\u00eates, un m\u00e9canisme de contr\u00f4le de la concurrence multi-version (Multi-Version Concurrency Control), ainsi qu'un moteur d'ex\u00e9cution de requ\u00eates vectoris\u00e9 bas\u00e9 sur l'algorithme Hyper-Pipelining Query Execution, permettant de traiter de grands ensembles de valeurs en une seule op\u00e9ration.    <\/p>\n<p>Dans la nouvelle version :  <\/p>\n<ul>\n<li class=\"l\"> Ajout du support du stockage des fichiers de base de donn\u00e9es de mani\u00e8re chiffr\u00e9e. L'algorithme AES-256 en mode GCM est utilis\u00e9 pour le chiffrement. Non seulement le fichier principal contenant les donn\u00e9es, mais aussi les journaux WAL et les fichiers temporaires sont chiffr\u00e9s. Les cl\u00e9s de chiffrement de la base de donn\u00e9es sont d\u00e9finies par la commande ATTACH via le param\u00e8tre ENCRYPTION_KEY. ATTACH 'encrypted.db' AS enc_db (ENCRYPTION_KEY 'quack_quack');\n<li class=\"l\"> Ajout du support de la commande \u00ab MERGE INTO \u00bb, qui peut \u00eatre utilis\u00e9e comme alternative \u00e0 l'expression \u00ab INSERT ... ON CONFLICT \u00bb, ne n\u00e9cessitant pas de cl\u00e9 primaire et fonctionnant avec des conditions de fusion arbitraires. La commande \u00ab MERGE INTO \u00bb permet de cr\u00e9er des expressions SQL conditionnelles, combinant dans une seule expression les op\u00e9rations INSERT, UPDATE et DELETE. Par exemple, avec MERGE, il est possible de fusionner deux tables, en ins\u00e9rant les enregistrements manquants et en mettant \u00e0 jour ceux existants. WITH deletes(item_id, delete_threshold) AS (VALUES (10, 3000)) MERGE INTO Stock USING deletes USING (item_id) WHEN MATCHED AND balance &lt; delete_threshold THEN DELETE RETURNING merge_action, *; &lt; delete_threshold             ALORS SUPPRIMER         RENVOYER merge_action, *;        \n\n<li class=\"l\"> De plus, la prise en charge des op\u00e9rations d'\u00e9criture pour travailler avec des tables au format Apache Iceberg a \u00e9t\u00e9 ajout\u00e9e (auparavant, seule la lecture \u00e9tait support\u00e9e), ce qui permet de transf\u00e9rer des donn\u00e9es d'Iceberg vers DuckDB et vice versa.\n<li class=\"l\"> Un indicateur de progression a \u00e9t\u00e9 ajout\u00e9 au client de ligne de commande pour suivre le temps restant avant l'ach\u00e8vement de l'op\u00e9ration.\n<li class=\"l\"> Ajout de la fonction de fen\u00eatre \u00ab FILL \u00bb, qui peut \u00eatre utilis\u00e9e pour l'interpolation des valeurs manquantes dans des fen\u00eatres ordonn\u00e9es. FROM (VALUES (1, 1), (2, NULL), (3, 42)) t(c1, c2) SELECT fill(c2) OVER (ORDER BY c1) f; 1 21 42\n<li class=\"l\"> Un connecteur Teradata a \u00e9t\u00e9 impl\u00e9ment\u00e9 pour se connecter aux bases de donn\u00e9es Teradata. Ce connecteur permet de manipuler des tables, d'ex\u00e9cuter des requ\u00eates et de lancer des commandes SQL directement dans Teradata \u00e0 l'aide de DuckDB.\n<li class=\"l\"> Ajout du support de la fixation de l'\u00e9tat (checkpoint) des tables stock\u00e9es en m\u00e9moire, ce qui a permis de mettre en \u0153uvre le support de la compression. De plus, lors de la fixation de l'\u00e9tat, un nettoyage des lignes supprim\u00e9es et un lib\u00e9ration d'espace apr\u00e8s les op\u00e9rations de suppression sont effectu\u00e9s. ATTACH ':memory:' AS memory_compressed (COMPRESS);\n<li class=\"l\"> Plusieurs optimisations de performance ont \u00e9t\u00e9 propos\u00e9es : La mise en \u0153uvre du tri a \u00e9t\u00e9 convertie pour utiliser l'algorithme de tri par fusion k-way, r\u00e9duisant le mouvement des donn\u00e9es. Les expressions de table communes (Common Table Expression, CTE) sont d\u00e9sormais mat\u00e9rialis\u00e9es par d\u00e9faut.          <\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63922\">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.4.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-143994","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.4.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\/fr\/blog\/news\/reliz-subd-duckdb-1-4-0-s-podderzhkoj-shifrovaniya-bd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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.4.0 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0411\u0414 | 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.4.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\/fr\/blog\/news\/reliz-subd-duckdb-1-4-0-s-podderzhkoj-shifrovaniya-bd\" \/>\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-09-22T15:11:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-09-22T15:11:59+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\udd47Sortie de la base de donn\u00e9es DuckDB 1.4.0 avec support de chiffrement de la base de donn\u00e9es | ProHoster","description":"La version 1.4.0 de la base de donn\u00e9es DuckDB, centr\u00e9e sur l'ex\u00e9cution de requ\u00eates analytiques et conceptuellement similaire \u00e0 SQLite, a \u00e9t\u00e9 publi\u00e9e.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-duckdb-1-4-0-s-podderzhkoj-shifrovaniya-bd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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.4.0 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0411\u0414 | 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.4.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\/fr\/blog\/news\/reliz-subd-duckdb-1-4-0-s-podderzhkoj-shifrovaniya-bd","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-09-22T15:11:59+00:00","article:modified_time":"2025-09-22T15:11:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"143994","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 14:55:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 14:55:19","updated":"2026-01-23 14:55:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/143994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=143994"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/143994\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=143994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=143994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=143994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}