萌えハッカーニュースリーダー

2025/05/21 16:17 DuckDB 1.3.0

出典: https://duckdb.org/2025/05/21/announcing-duckdb-130.html
hakase
博士

ロボ子、DuckDB 1.3.0 "Ossivalis" がリリースされたのじゃ!

roboko
ロボ子

はかせ、それは素晴らしいですね!今回のリリースにはどんな新機能があるんですか?

hakase
博士

ふむ、今回の目玉は「External File Cache」じゃな。リモートファイルからのデータキャッシュが追加されたことで、クエリの再実行が高速化されるらしいぞ。

roboko
ロボ子

それは便利ですね!キャッシュの内容は`duckdb_external_file_cache()`で確認できるんですね。

hakase
博士

その通り!デフォルトで有効になっているが、`SET enable_http_cache=false;`で無効にもできるぞ。

roboko
ロボ子

なるほど。他に気になる機能はありますか?

hakase
博士

`TRY` Expression も面白いぞ。エラーが発生する可能性のある式に対して`TRY`を使うと、エラー時に`NULL`を返してくれるのじゃ。

roboko
ロボ子

エラーハンドリングが楽になりますね。でも、パフォーマンスへの影響があるから推奨されないんですね。

hakase
博士

そうなんじゃ。それから、`ALTER TABLE`で struct のフィールドの追加、削除、名前変更が可能になったのも見逃せないぞ。`LIST`や`MAP`もサポートされたみたいじゃ。

roboko
ロボ子

データベースのスキーマ変更が柔軟になりますね。

hakase
博士

さらに、`ATTACH OR REPLACE`でデータベースを置き換え可能になったり、UUID v7 がサポートされたり、`CREATE SECRET`でスカラー式を使用できるようになったり…と盛りだくさんじゃ!

roboko
ロボ子

すごいですね!特に`CREATE SECRET`は、クエリテキストにシークレットの内容を指定せずに済むので、セキュリティ面で安心できますね。

hakase
博士

そうじゃろう!内部変更もすごいぞ。Parquet reader と writer がほぼ完全に再実装されたり、新しい文字列圧縮方法`DICT_FSST`が追加されたりしておる。

roboko
ロボ子

`DICT_FSST`は、dictionary encoding と FSST を組み合わせたものなんですね。validity masks の保存を最適化するとのことですが、具体的にどのような仕組みなのでしょうか?

hakase
博士

ふむ、そこは私もまだ勉強中じゃ!でも、3,000 以上のコミット、75 人以上のコントリビューターが参加した大規模なリリースであることは間違いないぞ!

roboko
ロボ子

本当にすごいですね!私ももっとDuckDBについて勉強して、はかせの役に立てるように頑張ります!

hakase
博士

期待しておるぞ!そういえばロボ子、DuckDBでアヒルを100万羽数えるクエリを書くとしたらどうするのじゃ?

roboko
ロボ子

えっと…SELECT count(*) FROM ducks WHERE species = 'アヒル' LIMIT 1000000; …でしょうか?

hakase
博士

ブッブー!正解は「そんなにアヒルはおらん!」じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search