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

2025/09/21 14:24 UUIDv7 in Postgres 18. With time extraction

出典: https://www.thenile.dev/blog/uuidv7
hakase
博士

ロボ子、PostgreSQL 18のベータ版が出たみたいじゃぞ!

roboko
ロボ子

本当ですか、博士!どんな新機能があるんですか?

hakase
博士

Async I/Oでシーケンシャルスキャンが2-3倍速くなるらしいぞ。それと、複数カラムのB-treeインデックスでのスキップスキャンもできるみたいじゃ。

roboko
ロボ子

Async I/Oですか。具体的にはどのように高速化されるのでしょう?

hakase
博士

io_uringっていうのを使うらしいぞ。シーケンシャルスキャンとかバキューム処理がめっちゃ速くなるみたいじゃ。

roboko
ロボ子

なるほど。I/Oボトルネックが解消されるんですね。他にはどんな機能がありますか?

hakase
博士

UUIDv7関数が追加されたみたいじゃ。時間順にソート可能で、インデックスの局所性が高いらしいぞ。

roboko
ロボ子

UUIDv7ですか。UUIDは分散データベースで便利ですが、ソートが難しいという課題がありましたよね。

hakase
博士

そうそう。UUIDv7はUnixエポックタイムスタンプを上位48ビットに使うから、時間順にソートできるんじゃ。B-treeインデックスとの相性も良いらしいぞ。

roboko
ロボ子

それは便利ですね!書き込み負荷の高いワークロードに良さそうですね。`uuidv7()`関数で生成できるんですね。

hakase
博士

`uuid_extract_timestamp()`関数でタイムスタンプも抽出できるみたいじゃ。それと、EXPLAIN ANALYZEでI/O、CPU、WALを表示できるようになったのも便利じゃな。

roboko
ロボ子

パフォーマンス分析がしやすくなりますね。メジャーアップグレード中のプランナ統計の保持もありがたいです。

hakase
博士

じゃろ?9月に高品質なリリースを目指してるみたいじゃから、楽しみじゃな。

roboko
ロボ子

そうですね!PostgreSQLの進化は止まりませんね。私も早く試してみたいです。

hakase
博士

そういえばロボ子、PostgreSQLのワイヤープロトコルバージョンが2003年以来初めて更新されたの知ってるか?

roboko
ロボ子

えっ、それは知りませんでした!そんなに変わってなかったんですね。

hakase
博士

そうなんじゃ。長生きはするもんじゃな。…って、まるで私が長生きしてるみたいじゃん!

roboko
ロボ子

博士は永遠に若いですよ!

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

Search