KamoLand Mastodon
現在開発中のPostgreSQL 8.3は,まもなく「フィーチャーフリーズ」(機能の確定)となる。5月中にはβテストに入り,早ければ7月にも正式リリースがありそうだ。 8.3では,性能面に関する大幅な改良がある見込みだ。中でも注目されているのがHOT(Heap Only Tuples)である。 HOTとは HOTは一口で言うと,PostgreSQLの更新性能を改善する仕掛けである。HOTについて説明する前に,なぜPostgreSQLの更新性能が問題になるのか説明しよう。 PostgreSQLの更新処理の弱点 PostgreSQLは追記型のアーキテクチャを採用しており,更新は,内部的に削除してから新しい行を追加することで実装されている。削除して不要になった行はVACUUMコマンドで再利用可能領域として回収,再利用される。更新処理を頻繁に行う場合はVACUUMも頻繁に実行しなければならない。で
[PostgreSQLウォッチ]第34回 ユーザー定義関数の脆弱性に異例の勧告,任意のコードを実行される恐れ 2007年最初のPostgreSLQウォッチをお届けする。前回のPostgreSQLウォッチから2カ月近く経っているので,話題が溜っている。それらを今回はまとめてお伝えするが,その前に最新の話題から。 ユーザー定義関数の脆弱性に関する勧告 2007年2月14日,コアチームから,ユーザー定義関数のある種の利用法(SECURITY DEFINERに関する脆弱性についての勧告が出された。 http://archives.postgresql.org/pgsql-general/2007-02/msg00679.php このような勧告が出されるのは極めて異例のことなので,その内容を詳細に検討してみよう。 SECURITY DEFINERとは PostgreSQLのユーザー定義関数を作成時に
2006年9月21日,待望のPostgreSQL 8.2のベータ版がリリースされ,PostgreSQL8.2の全容が明らかとなった。全体的にはそれほど目だった新機能はないが,細かな改善や,性能向上がなされているようだ。 本連載でも25回と30回で8.2の新機能や改良点を取り上げてきたが,それを簡単に復習してみよう。 25回では,CE(Constraint Exclususion)という,継承を使ったテーブルパーティショニング機能の改良,pg_freespacemapの追加を紹介した。また,ソート処理とディスク上のビットマップを使ったVACUMMの高速化への試みについても紹介した。残念ながらVACUUMの高速化は盛り込まれなかったが,ソート処理の高速化は8.2に取り込まれた。 30回では,GINという新しいインデックスタイプの追加,COPYやINSERTの改良について紹介した。 本稿ではこれ
3.5. カーネルリソースの管理 大きな PostgreSQL のインストレーションになると、オペレーティングシステムのリソースの限界を容易に越えてしまいます (システムによっては出荷時のデフォルトが低すぎるため"大きな"インストレーションの要望にも応えられません)。このような問題に遭遇したことがある場合は、この先を読んでください。 3.5.1. 共有メモリとセマフォ共有メモリとセマフォはひとまとめにして"System V IPC"と呼ばれます(メッセージキューとも一緒ですが、PostgreSQLでは関係ありません)。 ほとんどすべての現代のオペレーティングシステムはこれらの機能を提供しますが、特にBSDの痕跡を引きずるシステムのように、すべてがデフォルトで有効にされたり適当なサイズになっているわけではありません(QNXとBeOSにおける移植では、PostgreSQLはこれらの機能の独自の
開発中のPostgreSQL 8.2は,新たな機能をコードに追加することを禁止する,いわゆる「フィーチャーフリーズ」が宣言され,ベータ・テストの開始が間近になった。今回はPostgreSQL 8.2で追加される予定の機能のうち,GINと呼ばれる新しいインデックスタイプ,COPYとINSERTの機能追加を紹介する。 なお,ここで紹介する機能はあくまで本稿執筆時点のソースコードに基づくものであり,PostgreSQL 8.2の正式リリース時には変更されている可能性があることをお断りしておく。 GIN GINは,"Generalized Inverted Index"の略で,日本語では「汎用転置インデックス」となる。GINはBtree同様,PostgreSQLのインデックスタイプの一つである。GINを使うと,文章中に出現する単語毎にインデックスを作成し,ある単語が含まれるドキュメントを高速に検索
今回は開発中のPostgreSQL 8.2の状況を報告する。例によって多くの機能が実装されつつあるが,今回はその中からCE(Constraint Exclusion),新しいcontrib関数のpg_freespacemap,新しく追加されたSQL2003の集約関数などを紹介する。 CEの改良 CE(Constraint Exclusion)は,継承を使ってテーブルをパーティショニングし,性能を向上させる技術だ。たとえば販売記録を管理するテーブルを,売り上げ日で1カ月ごとに分割するなどの使い方が考えられる。こうすることによって,テーブルの必要な部分だけをアクセスできるので,ディスクアクセスが減ってパフォーマンスが上がるわけだ(CEについては,本連載の19回と22回を参照されたい)。 CEはPostgreSQL 8.1ではじめて実装された機能だが,残念ながらCEの恩恵を受けることができるのは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く