タグ

postgresqlに関するcelitanのブックマーク (6)

  • とあるクエリを2万倍速にした話 -データベースの気持ちになる- 後編 - dwango on GitHub

    技術コミュニケーション室 OSSグループの髙﨑です。 記事は、とあるクエリを2万倍速にした話 -データベースの気持ちになる- 前編の続きです。 前回の記事でお話しした内容がPullRequestを作ったときの過程だったわけですが、 そのような結果に至った経緯、Index Only Scanを使わなかったPostgreSQL特有の事情について、 PostgreSQLのアーキテクチャなども交えもう少し詳しくお話させていただきます。 要するに 実行計画のコストとはレコードやindexの読み込み、フィルタ処理などからその実行にどの程度の時間が必要となるかの推定値 indexを張る際にはそのindexがどのように辿られるかを意識する必要がある 範囲検索される可能性があるカラムはindexの先頭にはあまり適さない PostgreSQLにおけるIndex Only Scanは新しい/更新頻度の高いデー

    とあるクエリを2万倍速にした話 -データベースの気持ちになる- 後編 - dwango on GitHub
  • とあるクエリを2万倍速にした話 -データベースの気持ちになる- 前編 - dwango on GitHub

    技術コミュニケーション室 OSSグループの髙﨑です。 当グループでは、マストドンというオープンソースの分散型マイクロブログについて、 弊社が運営するインスタンス「friends.nico」の運営、独自機能の開発、運用、ならびにそれらで得た知見を上流のプレーンなマストドンへcontributeするという業務を主に行っています。 記事では、tableに適切なindexを張ることによってとあるスロークエリの速度改善を行った事例について、実際に上流へ行ったPullRequestをベースにお話させていただきます。 内容としては反面教師とするべき失敗例を伴った、非常に基礎的なPostgreSQLの実行計画の読み方ならびにクエリに合わせたindexの張り方です。 また、表題の2万倍速というのは改善前の最悪の場合比であり嘘ではないものの、通常問い合わせされる範囲の条件ではだいたい3〜30倍速であるという

    とあるクエリを2万倍速にした話 -データベースの気持ちになる- 前編 - dwango on GitHub
  • PostgreSQL技術者を認定、LPI-Japanが「OSS-DB技術者認定試験」開始

    Linux技術者認定機関のエルピーアイジャパン(LPI-Japan)は2011年6月8日、「オープンソースデータベース技術者認定試験(OSS-DB Exam)」を7月1日から開始すると発表した。オープンソースのデータベース(OSS-DB)ソフト「PostgreSQL」に関する知識とスキルを備えた技術者を認定する。世界共通の認定制度であるLinux技術者認定試験とは異なり、LPI-Japanが独自に実施する試験である。 主なOSS-DBには、PostgreSQLと米OracleMySQLがあるが、「特定ベンダーの管理下にあるソフトは真のOSSとは言えない」(LPI-Japanの成井弦理事長、写真)として、今回スタートするOSS-DB ExamではPostgreSQLのみを対象とした。「ただし、我々はPostgreSQLOracle Databaseは競合するものではなく補完関係にあると考

    PostgreSQL技術者を認定、LPI-Japanが「OSS-DB技術者認定試験」開始
    celitan
    celitan 2011/06/12
    「特定ベンダーの管理下にあるソフトは真のOSSとは言えない」ってどういうこと?ん?postgresql以外にもOSSのDBあるじゃん
  • PostgreSQLのバックアップ&リストア手法その1

    PostgreSQLのバックアップ&リストア手法その1:使えば分かるPostgreSQL運用&チューニング(4)(2/3 ページ) pg_dumpの出力形式 出力形式はスクリプト形式とアーカイブ形式が選択できます。デフォルトはスクリプト形式で、バックアップ時のデータベースを復元するために必要なSQL文の羅列がプレーンテキストの形で出力されます。リストアはpsql コマンドを使用します。 スクリプト形式の利点は、なんといってもプレーンテキストという点です。例えば、リストアの際にエラーが発生した場合、ファイルの中身を見てエラーの原因を探ることができますし、PostgreSQL固有のSQL文を多少編集すれば、ほかのデータベース製品にもリストアすることができます。 一方、アーカイブ形式はバイナリの形で出力されます。リストアはpsqlではなく、pg_restore というリストア用のコマンドを使用し

    PostgreSQLのバックアップ&リストア手法その1
    celitan
    celitan 2011/04/29
    忘れるのでメモ
  • DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して

    データベースには,「トランザクション分離レベル」というものがある。 以下では,それが なぜ必要なのか? デフォルトのレベルでは,どうして駄目なのか? PostgreSQLでは,どうやってレベルを変更・確認するのか? などを取り上げる。 トランザクション分離レベル トランザクション分離レベルとは: 複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい「分離」するか,のレベル。 ANSI規格では,4つのレベルがある。 READ UNCOMMITTED (一番低い) READ COMMITTED REPEATABLE READ SERIALIZABLE(一番高い) 徹底比較!! PostgreSQL vs MySQL 第3回:トランザクションの比較 http://thinkit.co.jp/free/article/060... トランザクション処理に詳しく

    DBの「トランザクション分離レベル」が必要な理由  (PostgreSQLで,ファントム・リードを防止すべきサンプル事例) - 主に言語とシステム開発に関して
  • バックアップとリストア

    Postgresデータベースのすべての貴重なデータは、 定期的にバックアップする必要があります。 バックアップの 手順は簡単ですが、その下にあるテクニックや概念などを理解する 必要があります。 Postgres には、データのバックアップを行うために 2つの方法があります。 SQL dump ファイルシステムレベルのバックアップ 8.1. SQL Dump この方法の背後には、SQLコマンド群が書かれたテキストファイルを生成し、 サーバにそのファイルを読み込ませたら、ダンプされた時と同じ 状態を再構築する、と言ったものがあります。このため、 Postgresにはユーティリティプログラムとして pg_dumpを提供しています。このコマンドの 一般的な使用方法は下記の通りです。 pg_dump dbname > outfile お分かり頂けるように、pg_dumpは結果を標準出力に 書き出しま

    celitan
    celitan 2009/12/14
    バックアップ、リストア手順
  • 1