154 Views
June 14, 25
スライド概要
PostgreSQLをベースとした新たなデータベースソフトウェアOrioleDBの概要と近況について説明します。
I am an engineer mainly dealing with PostgreSQL.
OrioleDB アップデート 2025-06-13 JPUG 総会併設セミナー 日本 PostgreSQL ユーザ会 / 株式会社 SRA OSS 高塚 遥 1
OrioleDB って? ● PostgreSQL を Table AM 差し替えした DBMS ● 以下を実現 : OLTP 性能向上 ● 運用性向上 ● 透過的データ圧縮 ● ● 非互換は少なめ Aurora PostgreSQL よりは非互換が多いが ● YugabyteDB ほどの非互換は無い ● 劔 のように全く別データベースということではない ● 2
速いの?(1) ( https://www.orioledb.com/ より) 3
速いの?(2) 4 ( https://qiita.com/harukat1232000/items/c9fc8597002555ffb09f より)
運用が楽って、何が? ● UNDO-log スタイルなので VACUUM 不要 ● 64bit XID なので XID 周回なし ● レプリケーション帯域確保は半分くらいで OK ● 非互換少なめの観点では: pg_basebackup 、 pg_dump 等はおおむね同様に使える ● レプリケーション構築手順も違いなし ● 5
何が置き換わっているの? テーブル/インデックスの格納形式 ● バッファマネージャ/ストレージマネージャ ● WAL (行レベル)/ UNDO-log ● ストリーミングレプリケーション(並列適用) ● Planner ● Executor ● → いずれも OrioleDB テーブルに対する部分のみ PostgreSQL テーブルはそのまま動作 6
制限事項は? ● pg_rewind が効かない ● パラレル処理が効くのがシーケンシャルスキャンのみ ● 2PC (2相コミット) 非対応 ● インデックスは B-Tree のみ (他は experimental ) ● Bitmap Scan は整数型のみ ● REINDEX CONCURENTLY 非対応 ● サンプルスキャン未対応 7
非互換ポイント ● テーブルが主キーによるソート済ツリー構造 InnoDB と似たスタイル ● 主キーを UPDATE 、あるいは、 DELETE/INSERT する 場合の同時実行性が異なる ● CLUSTER はサポートしない → 不要とも言える ● ● ロケール処理で制限あり ● C 、 ICU 、 POSIX 照合順序のみサポート → 普通はこれで十分ですよね 8
非互換ではないポイント ● パーサ、プランナの全体枠組みはそのまま ● 通常の PostgreSQL テーブルと共存可 ● トランザクション制御はそのまま ● ● 分離レベルやアボート性向に違いなし 各種の拡張 (EXTENSION) をそのまま使える ネイティブの heap や btree 、 WAL に無関係なら ● C 言語コードを同様にビルド・インストール ● 9
最近のアップデート ● 2023 年 6 月 beta1 → 2025 年 5 月 beta11 ● PG17 support ● Add S3 mode (experimental) – 当初から NVRAM むけモード (experimental) あり Bridged index support (experimental) ● Fill factor support ● Split row-level and page-level undo logs ● 各種バグ修正 ● 10
引き続き開発は活発に継続中 11