タグ

ブックマーク / lets.postgresql.jp (9)

  • パーティショニング : 用途と利点 — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 パーティショニングとはデータを複数に分割して格納することです。データを分割することにより、性能や運用性が向上し、故障の影響を局所化することができます。巨大なデータを扱う場合にはパーティショニング機能を利用することも検討してみてください。 この記事ではパーティショニングの概要と用途について説明しています。PostgreSQL での具体的な使い方については『パーティショニング : 使い方』を参照してください。 パーティショニングの用途 パーティショニングには大きく分けて「テーブル間の分割」「ノード間の分割」の2つがあります。この記事では主にテーブル間の分割を扱います。 テーブル間の分割 巨大なテーブルを複数のテーブルに分割します。単純に複数のテーブルに分けて格納するだけでも効果はありますが、PostgreSQL は複数のパーティションを1つ

  • xlogdumpによるトランザクションログの解析 — Let's Postgres

    アップタイム・テクノロジーズ合同会社 永安 悟史 この記事は、PostgreSQL Advent Calendar #13の12月13日の記事です。 今回は、「PostgreSQL内部解析の強化期間」ということですので、普段はあまり覗くことのないトランザクションログの中を覗いてみる方法を解説します。 もっとも、普段あまり気にすることはなくとも、PostgreSQLのトランザクションログはアーカイブログとして保存してリカバリに使われたり、または(ファイル単位ではなくレコード単位ですが)レプリケーションの際の通信にも使われるものですので、知っておいて損はないでしょう。 普段、ほとんど気にせず使っている機能の内部がどのようなデータ形式になっているのか、その理解の一助になれば幸いです。 はじめに PostgreSQLは、データを障害から保護するために、データへの更新情報を時系列にトランザクションロ

  • Pgpool-IIの接続性能の改善 | Let's POSTGRES

    SRA OSS, Inc. 日支社 石井 達夫 はじめに 記事は2013年のPostgreSQL Advent Calendar の 12/17 の記事です。pgpool-IIに多数のクライアント同時に接続すると、極端にレスポンスが落ちることがあります。ここではその原因と改善方法について考えます。 pgpool-IIはpre-fork型のアーキテクチャ pgpool-IIは、複数のPostgreSQLを使ったクラスタシステムを構築できるミドルウェアです。pgpool-IIでは、num_init_childrenというパラメータの数だけあらかじめプロセスを起動(pre-fork)しておきます。クライアントからの接続要求があると、そのプロセスの一つがカーネルから選択され、クライアントからの接続を受付けて、処理を開始します。これはApacheなどと同じ方式で、あらかじめプロセスをフォークして

    Pgpool-IIの接続性能の改善 | Let's POSTGRES
  • 稼動統計情報を活用しよう(3) — Let's Postgres

    NTT オープンソースソフトウェアセンタ 笠原 辰仁 有用な情報を持つテーブル / ビュー 稼動統計情報を持つテーブルとビューの一部について、どのような情報を蓄積しているかを紹介します。前ページで稼動統計情報の取得方法を述べましたが、紹介したもの以外にも、下記に示すように色々な情報が取得できます。 pg_stat_database DB単位で、実施された表スキャンやインデックススキャン数などが確認できます。DB単位でざっくりとしたアクティビティ状況を確認するのに便利です。このビューでは下記の項目を確認できます。 pg_stat_database 名前 ver. 説明

  • PostgreSQL 9.1 の新機能—Let's Postgres

    PostgreSQL 9.1.0 が 2011年9月12日にリリースされました。 最新版のバイナリやソースコードは "ダウンロード用ページ" で配布されています。 9.1 では、9.0 で新規に採用されたレプリケーション機能の使い勝手の強化の他、外部のファイルや DB に直接アクセスできる SQL/MED や、拡張モジュールの管理機能など、さらなる強化が行われています。 互換性に関する注意 最初が注意になってしまいますが、以前のバージョンとの互換性の無い設定がデフォルトに変更されています。比較的多くのアプリケーションで問題になる可能性があるため、あえて強調して注意させてもらいます。 standard_conforming_strings のデフォルトが on に変更 standard_conforming_strings = on がデフォルトになりました。E'...' 形式でない文字列内

  • pgpool-II 3.2 の新機能 (3) Watchdog | Let's POSTGRES

    watchdog とは 従来の pgpool-II で複数の PostgreSQL を連携させる場合、pgpool-II 自体、あるいは pgpool-II が動いているサーバや OS に障害が発生すると全体のサービスが停止してしまうため、ここが単一障害点(Single Point Of Failure: SPOF)となっていました。watchdog は、複数の pgpool-II の連携によってこの問題を解決し、pgpool-II の可用性を高める機能です。この機能により、サービスを提供する主系(アクティブ)の pgpool-II に障害が発生した場合でも、それを検知した待機系(スタンバイ)の pgpool-II が主系に取って代わって運用を継続する、すなわち pgpool-II のフェイルオーバが実現可能になりました。 今まではこのような構成をとるためには pgpool-HA というパ

  • Pgpool-IIの接続性能の改善 | Let's POSTGRES

    SRA OSS, Inc. 日支社 石井 達夫 はじめに 記事は2013年のPostgreSQL Advent Calendar の 12/17 の記事です。pgpool-IIに多数のクライアント同時に接続すると、極端にレスポンスが落ちることがあります。ここではその原因と改善方法について考えます。 pgpool-IIはpre-fork型のアーキテクチャ pgpool-IIは、複数のPostgreSQLを使ったクラスタシステムを構築できるミドルウェアです。pgpool-IIでは、num_init_childrenというパラメータの数だけあらかじめプロセスを起動(pre-fork)しておきます。クライアントからの接続要求があると、そのプロセスの一つがカーネルから選択され、クライアントからの接続を受付けて、処理を開始します。これはApacheなどと同じ方式で、あらかじめプロセスをフォークして

    Pgpool-IIの接続性能の改善 | Let's POSTGRES
  • pgpool-II 3.3 の watchdog 機能 | Let's POSTGRES

    はじめに 2013 年 8 月に pgpool-II 3.3 がリリースされました。このバージョンでは、複数の pgpool-II を連携させ、可用性を高める機能である watchdog 関して、いくつか新機能が追加されました。 中でも大きな変更は、pgpool-II 間の死活監視に新しい方法が追加されたことです。 記事では、この新しい監視方法を用いた pgpool-II 3.3 の watchdog 機能について解説します。 pgpool-II および watchdog について pgpool-II とは pgpool-II は、PostgreSQL のクライアントアプリケーションと、(複数の)PostgreSQL の間に割り込んで入る proxy のような形で利用するミドルウェアです。直接 PostgreSQL を使うのではなく、pgpool-II を経由することによって、コネクショ

  • スロークエリの分析 — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 スロークエリ (時間のかかるSQL) を発見するまでの手順を解説します。スロークエリ分析と改善は以下の流れで行うことになります。この記事では主に 1. のスロークエリの特定方法について解説します。2.については『スロークエリの改善』を参考にしてください。 どのSQLが遅いのかを見つける。 そのSQLがなぜ時間がかかるのかを判断する。 設定パラメータ、SQL、スキーマなどを改善する。 着目したSQLの性能を再測定し、2. から繰り返す。 着目したSQLのチューニングが完了したら、他のボトルネックを探すため 1. から繰り返す。 スロークエリの見つけ方 スロークエリを見つけるには、大きく分けて統計情報ビューを使う方法と、サーバログを使う方法の2つがあります。統計情報ビューを使う方法は PostgreSQL 8.4 以降でしか利用できませんが

  • 1