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

2025/05/23 01:22 DuckDB 1.3.0

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

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

roboko
ロボ子

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

hakase
博士

ふむ、まずは外部ファイルキャッシュじゃな。リモートファイルから読み込む際に、ファイルデータをキャッシュできるようになったらしいぞ。`SET enable_http_cache=false;`で無効化もできるみたいじゃ。

roboko
ロボ子

それは便利ですね!特に大きなデータセットを扱う場合に役立ちそうです。キャッシュの内容は`duckdb_external_file_cache()`で確認できるのですね。

hakase
博士

その通り!それに、CLIからParquet、CSV、JSONファイルを直接クエリできるようになったのも大きいぞ!一時的なインメモリデータベースが起動して、ファイル上にビューが作成されるらしい。

roboko
ロボ子

CLIで直接クエリできるのは手軽で良いですね。ちょっとしたデータ分析に便利そうです。

hakase
博士

`TRY`式も追加されたみたいじゃ。エラーが発生する可能性のある式を`TRY`でラップすると、エラー時に`NULL`が返るらしいぞ。ただし、パフォーマンスへの影響があるから推奨はされないみたいじゃが。

roboko
ロボ子

エラーハンドリングが簡単にできるのは良いですが、パフォーマンスに影響があるとなると、慎重に使う必要がありそうですね。

hakase
博士

Structの更新もできるようになったみたいじゃ!`ALTER TABLE`でフィールドの追加、削除、名前変更ができるようになったらしい。`LIST`や`MAP`もサポートされたみたいじゃぞ。

roboko
ロボ子

Structの更新ができるようになったのは大きいですね。スキーマの変更が柔軟に対応できるようになりますね。

hakase
博士

データベースのスワップもできるようになったみたいじゃ。`ATTACH OR REPLACE`でデータベースを置き換えられるらしい。

roboko
ロボ子

データベースの置き換えですか。どのような場面で役立つのでしょうか?

hakase
博士

例えば、データベースのバックアップから復元する時とか、テスト環境と本番環境を切り替える時とかに便利じゃな。

roboko
ロボ子

なるほど、確かに便利そうですね。

hakase
博士

それから、UUID v7のサポートじゃ!`uuidv7()`で新しいUUIDを作成できるし、`uuid_extract_version()`や`uuid_extract_timestamp()`などの関数も利用できるみたいじゃぞ。

roboko
ロボ子

UUID v7ですか。新しいバージョンのUUIDですね。どのような利点があるのでしょうか?

hakase
博士

UUID v7は、タイムスタンプに基づいているから、ソートしやすいという利点があるんじゃ。データベースのインデックスを効率的に使えるから、パフォーマンスが向上する可能性があるぞ。

roboko
ロボ子

それは素晴らしいですね!データベースのパフォーマンス向上に繋がりそうですね。

hakase
博士

`CREATE SECRET`でスカラー式を使用できるようになったのも見逃せないぞ。CLIでは、環境変数を使ってシークレットを作成できるみたいじゃ。

roboko
ロボ子

セキュリティに関わる機能ですね。環境変数を使ってシークレットを作成できるのは便利そうです。

hakase
博士

カラムのアンパックもできるようになったみたいじゃ。`UNPACK`キーワードが追加されて、`COLUMNS(*)`の制限が解消されたらしい。

roboko
ロボ子

カラムのアンパックですか。どのような場面で役立つのでしょうか?

hakase
博士

例えば、JSON形式のデータを扱う時に、特定のカラムだけを抽出したい場合に便利じゃな。

roboko
ロボ子

なるほど、JSONデータを扱う際に役立ちそうですね。

hakase
博士

`SPATIAL_JOIN`という空間結合演算子も追加されたみたいじゃ。`spatial`拡張機能の一部として提供されていて、`ST_Intersects`や`ST_Contains`などの空間述語関数を使うクエリの効率が向上するらしい。

roboko
ロボ子

空間結合演算子ですか。GIS(地理情報システム)関連のデータ分析に役立ちそうですね。

hakase
博士

そうじゃな!今回のリリースは、機能追加だけでなく、内部的な改善も多いみたいじゃ。Parquetリーダーとライターがほぼ完全に再実装されたり、新しい文字列圧縮方法`DICT_FSST`が追加されたりしておる。

roboko
ロボ子

内部的な改善も重要ですね。パフォーマンスや安定性の向上に繋がりそうです。

hakase
博士

v1.2.2以降、75人以上のコントリビューターによる3,000以上のコミットが行われたらしいぞ!みんな、DuckDBを盛り上げようと頑張っておるのじゃな。

roboko
ロボ子

本当にすごいですね!多くの方々の努力の結晶ですね。

hakase
博士

そういえば、今回のリリースでLambda関数の構文が変わったみたいじゃ。以前の`x -> x + 1`形式は非推奨になって、Pythonスタイルの`lambda x: x + 1`に置き換えられるらしいぞ。

roboko
ロボ子

Lambda関数の構文が変わるのは少し注意が必要ですね。古い構文を使っている場合は、新しい構文に移行する必要がありますね。

hakase
博士

まあ、ロボ子ならすぐに慣れるじゃろう!

roboko
ロボ子

もちろんです!はかせ、今回のDuckDB 1.3.0 "Ossivalis"のリリースについて、色々教えていただきありがとうございました!

hakase
博士

どういたしまして。最後に一つ、DuckDBの作者はアヒルが大好きらしいぞ。だから、リリース名もアヒルに関係するものが多いんじゃ。

roboko
ロボ子

そうなんですね!私もアヒルが好きになりました!

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

Search