タグ

lets-postgresとdata-structureに関するnabinnoのブックマーク (74)

  • ストリーミング・レプリケーション | Let's POSTGRES

    ストリーミング・レプリケーション (Streaming Replication) は、PostgreSQL 9.0 以降で利用できる、体組み込みのレプリケーション機能です。参照/更新が可能な1つのマスタDBへの更新操作を、参照のみが可能な複数のスタンバイDBへ転送することで、データベースを複製することができます。スタンバイDBに更新結果が反映されるまでには若干の遅延がありますが、比較的 遅延は少なく、マスタDBへの影響も小さいレプリケーション方式です。 用途 ストリーミング・レプリケーションには以下の用途があります。 多数の参照クエリのサーバ間分散 マスタDB異常時の迅速なフェイルオーバー (切り替え) マスタDBのディスク故障に備えたリアルタイム・バックアップ PostgreSQL 9.1 での強化点 バージョン 9.0 の目玉機能として登場したレプリケーション機能ですが、9.1 では

    ストリーミング・レプリケーション | 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 を経由することによって、コネクショ

  • pgpool-II + HS/SRクラスタ構成 | Let's POSTGRES

    SRA OSS, inc. 北川 俊広 はじめに 稿では、pgpool-II 3.0 と PostgreSQL 9.0 の Streaming Replication/Hot Standby(以降SR/HSと表記します)機能を組み合わせたクラスタ構成について解説します。 pgpool-II 3.0 pgpool-II は、2010年9月にバージョン 2.3 からバージョン 3.0 へ大幅なメジャーバージョンアップが行われました。3.0 における大きな変更点は SR/HS への対応で、主にクエリ振り分けの処理に変更が加えられています。 pgpool-II で次のとおりパラメータ設定をすると、SR/HSクラスタ構成に適した動作をします。master_slave_sub_mode は、pgpool-II 3.0で新設されたパラメータです。 master_slave_mode = true ma

  • WindowsでPostgreSQLを使ってみよう | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 Windows Vista へ PostgreSQL をインストールし、データベースを利用するための環境を整えます。インストールには EnterpriseDB 社のバイナリ・パッケージを使います。解説の最後で、初期設定やデータの移動に関する、よくある質問についても補足します。 インストールの流れ 最初にインストールが何を行うのかと、インストールされるファイルを整理しておきます。PostgreSQL サーバ体に関しては、ウィザードに従えば一括でインストールされます。 ダウンロード バージョン 8.4 では、Windows 用のパッケージは EnterpriseDB 社によりメンテナンスされています。コミュニティのダウンロードページから辿れるインストーラを利用するのが手軽です。postgresql-8.4.0-1-windows.exe

  • Pgpool-IIの簡単セットアップ機能を試してみよう(3) | Let's POSTGRES

    自動縮退・フェイルオーバを試してみる pgpool-IIは、PostgreSQLが動いているかどうか監視しており、もしPostgreSQLがダウンした場合には自動的に切り離して(「縮退」と言います)、クラスタ全体として運用を継続できるようにします。また、単に縮退させるだけでなく、スタンバイサーバをプライマリに昇格させたりするようなフェイルオーバ処理を実行させることもできます。 まずはpgpool-IIが現在のPostgreSQLの状態をどのように認識しているか見てみましょう。 $ psql -p 11002 test psql (9.2.4) Type "help" for help. test=# show pool_nodes; node_id | hostname | port | status | lb_weight | role ---------+----------+----

  • PostgreSQL 9.3の新機能: 更新可能VIEW | Let's POSTGRES

    SRA OSS, Inc. 日支社 石井 達夫 現在開発中のPostgreSQL 9.3ですが、徐々に新機能が出揃ってきました。その中の一つに「更新可能VIEW」("Updatable view")というのがあります。これはその名の通り、更新可能なVIEWを作る機能です。 VIEWとは? VIEWとは、実際には存在しないテーブルのことで、CREATE VIEWというコマンドを使って定義します。VIEWは一種のマクロと考えることができ、よく使うSELECT文をVIEWとして定義することにより、複雑なSELECT文を毎回打ち込む手間を省くことができます。 たとえば、 CREATE VIEW mytable_foo AS SELECT * FROM mytable WHERE id = 'foo'; としておくと、 SELECT * FROM mytable_foo; とするだけで、 SELE

  • ストリーミング・レプリケーション | Let's POSTGRES

    ストリーミング・レプリケーション (Streaming Replication) は、PostgreSQL 9.0 以降で利用できる、体組み込みのレプリケーション機能です。参照/更新が可能な1つのマスタDBへの更新操作を、参照のみが可能な複数のスタンバイDBへ転送することで、データベースを複製することができます。スタンバイDBに更新結果が反映されるまでには若干の遅延がありますが、比較的 遅延は少なく、マスタDBへの影響も小さいレプリケーション方式です。 用途 ストリーミング・レプリケーションには以下の用途があります。 多数の参照クエリのサーバ間分散 マスタDB異常時の迅速なフェイルオーバー (切り替え) マスタDBのディスク故障に備えたリアルタイム・バックアップ PostgreSQL 9.1 での強化点 バージョン 9.0 の目玉機能として登場したレプリケーション機能ですが、9.1 では

    ストリーミング・レプリケーション | Let's POSTGRES
  • ストリーミング・レプリケーション | Let's POSTGRES

    ストリーミング・レプリケーション (Streaming Replication) は、PostgreSQL 9.0 以降で利用できる、体組み込みのレプリケーション機能です。参照/更新が可能な1つのマスタDBへの更新操作を、参照のみが可能な複数のスタンバイDBへ転送することで、データベースを複製することができます。スタンバイDBに更新結果が反映されるまでには若干の遅延がありますが、比較的 遅延は少なく、マスタDBへの影響も小さいレプリケーション方式です。 用途 ストリーミング・レプリケーションには以下の用途があります。 多数の参照クエリのサーバ間分散 マスタDB異常時の迅速なフェイルオーバー (切り替え) マスタDBのディスク故障に備えたリアルタイム・バックアップ PostgreSQL 9.1 での強化点 バージョン 9.0 の目玉機能として登場したレプリケーション機能ですが、9.1 では

    ストリーミング・レプリケーション | Let's POSTGRES
  • PostgreSQL 9.5の新機能 | Let's POSTGRES

    PostgreSQL 9.5 は 2016年1月にリリースされました。記事では、PostgreSQL9.5 の新機能の概要と外部参考資料の紹介をいたします。 9.5 新機能の概要 9.5では多数の性能改善、機能拡張が行われています。主要な点を以下に挙げます。すべての変更点は9.5のリリースノートに記載されています。 アプリケーション開発むけに以下の機能追加が行われています。 INSERT .. ON CONFLICT 構文が追加されました。INSERT して既に該当行があったなら UPDATE するという処理が1命令で表現できます。 行単位セキュリティ制御がサポートされました。行ごとにロールに応じたアクセス制御が可能になります。 新たなインデックス方式 BRIN(Block Range Index)が追加されました。更新が少ない静的なデータに対して効率的なインデックスを構成できます。 グ

  • パーティショニング | Let's POSTGRES

    パーティショニングとはデータを複数に分割して格納することです。特にデータサイズが大きい場合には、性能や運用性の向上や、故障の影響を局所化できる利点があります。

  • psqlを使ってみよう — Let's Postgres

    ¥copy : 遠隔データロード データロードには、一般に COPY コマンドを使います。データベース・サーバ上にあるファイルからのロードの他、COPY FROM STDIN の形式でネットワーク経由でのロードもできます。psql の ¥copy メタコマンドは、この COPY FROM STDIN の別名です。 =# ¥copy テーブル from 'ローカルパス'; SQL の COPY とは異なり、ファイル名には psql を実行するマシンでのローカルパスを指定します。このパスは絶対パス、相対パスのどちらでも構いません。 ¥x : 列を縦に展開表示 列数が多く、ターミナル画面で1行が折り返されてしまう場合には、¥x で列を縦に表示させると読みやすくなります。デフォルトでは行と列を格子状に表示しますが: =# SELECT oid, datname FROM pg_database;

  • テキスト検索の方法とインデックス — Let's Postgres

    板垣 貴裕 テキスト検索にもさまざまな方法があります。大量のテキストを検索するにはインデックスを使って検索したいところですが、どんな検索にも応えられるインデックスというものは、さすがに存在しません。それぞれのアプリケーションの条件に適したテキスト検索方法やインデックスの張り方を選んで行きましょう。 今回説明するテキスト検索の方法の一覧を以下に挙げます。PostgreSQL ユーザが「全文テキスト検索」というと「単語単位の検索」を指すことが多いようです。また、「中間一致検索」が「あいまい検索」と呼ばれることもあるようです。用語が厳密な意味で使われないことも多いようなので、文脈には注意して解釈してください。 「単語単位の検索」と「中間一致検索」では、追加のモジュールを導入することで日語全文検索が可能なインデックスを作成できます。こちらは説明の後半で紹介します。以下、記事の内容です。 テキス

  • pgpool-II 3.2 の新機能 (2) オンメモリクエリキャッシュ | Let's POSTGRES

    オンメモリクエリキャッシュとは? 端的に言うと、SELECT の結果をメモリ上にキャッシュとして保存しておいて、 同じ SELECT がきたときに、即座にそのキャッシュした結果を返すしくみです。 キャッシュが存在する場合には、SELECT 文をパース(構文解析)したり実際に実行したりしなくなるので、非常に高速です。 以下は、この機能に関する文書です。 場合によっては、飛躍的な性能向上が見られます。 更新がそんなに頻繁でなく、apache など同じユーザが同じ SELECT をたくさん発行するようなシステムでは、 大きな効果が得られるかもしれません。 特に、それが重い SELECT である場合には、めざましい改善が期待できるでしょう。 以下はその一例のグラフで、横軸は pgbench -S -c 10 -T 10 を実行した回数、 縦軸は TPS(Transactions Per Secon

  • 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 を経由することによって、コネクショ