パーティション強化、JITコンパイラなどが加わった「PostgreSQL 11」リリース

 PostgreSQL Global Development Groupは10月18日、オープンソースのSQLデータベース「PostgreSQL 11」をリリースした。LLVMベースのJITコンパイラのサポート、パーティショニングの強化など多数の機能が加わっている。

 PostgreSQL 11は、2017年10月に公開されたPostgreSQL 10に続く最新版。

 パーティショニングを強化し、リスト、レンジに加えて、ハッシュパーティショニングとしてハッシュキーでもデータのパティショニングができるようになった。外部データラッパpostgres_fdwを使ったパーティションの機能改善により、データ連携機能も強化した。

 パーティション管理として、パーティションキーがマッチしないデータ向けにキャッチオールがデフォルトのパーティションを導入、パーティションされたテーブルにプライマリのキー、外部キー、インデックス、トリガーを作成できる機能も用意した。

 新しいパーティション削減対策を利用することで、パーティションからの読み込み時のクエリ性能も強化した。また、upsert機能を用いることで、アプリケーションコードを簡素化してネットワークのオーバーヘッドを削減できるという。

 ストアドプロシージャでのトランザクション管理もサポートした。開発者はインクリメンタルなバルクデータ読み込み機能を持つものなど、高度なサーバーサイドアプリケーションを構築できるという。

 クエリ並列処理では性能を強化した。特に、パーティションされたデータのスキャンを効率化し、並列シーケンシャルとハッシュジョインの性能を改善した。土台のクエリが並列化できない場合、UNIONを使うSELECTクエリを並列で処理するようになった。一部のデータ定義コマンドでも並列化処理が加わった。

 クエリ実行時に一部の表現を加速するJITコンパイラを導入した。LLVMを利用してWHERE句、ターゲットリストなどの表現の実行を加速する。JITコンパイルを使用するには、LLVM依存性をインストールするなどの設定が必要。

 この他にも多数の機能強化が加わっている。

PostgreSQL
https://www.postgresql.org/