Yuta Masano

pgvectorの紹介

pgvector(pgvector/pgvector: Open-source vector similarity search for Postgres)はベクトルデータの類似性検索機能を提供するPostgreSQLの拡張機能です。データベース内にベクトルデータを格納し、特定のベクトルと最も近い要素を検索できます。近似値の算出はユークリッド距離、内積、コサイン距離による距離計算が提供されており、大規模なデータセットでの検索を高速化するためのインデックス機能も提供されています。レコメンデーションシステムや画像や文章の類似コンテンツ検索などのアプリケーション開発で有用になります。

続きを読む

Barman(PostgreSQL PITR 補助ツール)

Barman とは PostgreSQL のPITR(ポイントインタイムリカバリ)を簡単に管理してくれるツールです。

PITRとはバックアップ/リストア方式の一つで、過去の指定した時点の状態に復元することが可能です。PITRは、データベースクラスタの物理コピー(ベースバックアップと呼びます)を取得し、以降のデータ変更が書き出される WALファイルを継続的に保存する(保存したものをWALアーカイブやアーカイブログと呼びます)ことで実現されます。現在稼働しているデータベースクラスタを障害やオペレーションミスから復旧したい場合には、保存していたベースバックアップにWALアーカイブを適用することで、ベースバックアップ取得時点からWALアーカイブが適用できる限りの任意の時点に復元することができます。

PITR は PostgreSQL のバックアップ方式としてよく用いられる手法ですが、DB 管理者が考慮すべきことや操作手順が増え、運用管理の手間が増えます。例えば、PITR の運用はベースバックアップの世代管理や、溜まり続ける古いアーカイブログファイルの削除は PostgreSQL の本体機能として備わっておらず、DB 管理者がそのような処理を行うスクリプトを用意しなければなりません。バックアップからのリカバリ作業も DB 管理者が手動で煩雑な手順を実施する必要があります。

続きを読む