KEMBAR78
Oss x user_meeting_6_postgres | PDF
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 1
PostgreSQLの優位性
株式会社アシスト
データベース技術本部
喜田 紘介
OSSユーザーのための勉強会
第6回
2014/04/15
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 2
自己紹介
 喜田 紘介(きだ こうすけ)
 所属
●
株式会社アシスト データベース技術本部
● 日本PostgreSQLユーザ会 事務局スタッフ
 仕事
● Oracleの構築、設計、研修講師などを経てPostgreSQL専任のチームへ
● 新規構築するシステムのDBをどうすべきか?というRDBMS選択支援や、
商用DBからOSSへの移行の前段階として、オブジェクトやSQL差異の
レクチャーや、データベースの診断・評価を行う 移行アセスメント支援 を
主に担当
 趣味
● マラソン、絵を書くこと(ごく最近)
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 3
クイズ「早いのはどれ?」
1億件のデータ更新
1億件の集計処理
1億件のランダム一意検索
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 4
システムの特性によって最適なデータベースは異なる。
PostgreSQLが強みを発揮できるシステムとは?
本日のテーマ
クイズ「早いのはどれ?」
ネット上などでよく目にする「Postgresあるある」
はたして本当なのでしょうか。過去、現在、未来から噂を検証。
PostgreSQL都市伝説を追う
PostgreSQLの強みがわかったところで、イマドキ事情を交えて
どのような構成が考えられるのか紹介。
PostgreSQLの適用範囲を拡大しようという野望も。
イマドキ構成の紹介
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 5
クイズ「早いのはどれ?」
1億件のデータ更新
1億件の集計処理
1億件のランダム一意検索
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 6
特徴
Oracle Database
高い可用性
更新負荷分散
自動管理機能
PostgreSQL
質実剛健
複雑なSQL
多彩な機能拡張
MySQL
軽量、高速
参照負荷分散
Webアプリケーション
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 7
PostgreSQL=質実剛健なDB
 質実剛健とは
・開発の歴史
・トランザクションの実装
 複雑な処理もこなす優等生
・多彩なプラン
・パーティショニング
 豊富な機能拡張
・GIS
・fdw
・全文検索
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 8
Post - gres - SQL
 1986年 POSTGRESプロジェクト
● RDBMSの先駆けであるIngresの開発をオープンソースとして継続
● トランザクション対応を盛り込んだデザイン設計
● 1993年にプロジェクトは終了
 1994年 Postgres 95
● POSTGRESにSQL対応を追加し、独自に開発を再開
 1996年 PostgreSQLが誕生
● オリジナルのPOSTGRESとSQLの能力を持つ
● バージョンは6.0から
参考文献:PostgreSQL 9.3.2文書-PostgreSQL小史(http://www.postgresql.jp/document/9.3/html/history.html)
THE DESIGN OF POSTGRES(http://db.cs.berkeley.edu/papers/ERL-M85-95.pdf)
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 9
トランザクションの実装
 データベースは多くのユーザから同時アクセスされる
● 同時実行制御
●
読み取り一貫性
 同時実行制御
●
エスカレーションのない行ロック
● 最小限のオーバーヘッドで確保される表ロック
 読み取り一貫性
●
追記型
① x1 SELECT開始
② x2 UPDATE
③ x1 SELECT
④ x3 SELECT ⑤ x4 SELECT
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 10
ユーザニーズに沿って発展
 その後もデータベースに「あるべき機能」を追加
 ユーザの求める機能とは
7.x JOIN構文や変更履歴といったRDBMSとしての基本機能
8.x PITR、Windows対応、内部動作の性能改善など
9.x レプリケーション、CPUスケール等より幅広い用途へ
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 11
PostgreSQLの実用可能な範囲
トランザクション系はほとんどOK
複雑な処理
 複雑って?
機能
複雑な結合
リアルタイムデータ連携
大量データの集計
totalization
超大量データの集計
一意検索
一意検索’
結合の数
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 12
計画タイプ
 表スキャン
● Seq Scan、Index Scan
● Bitmap Scan
 結合方法
● ネステッド・ループ結合
●
ソート・マージ結合
●
ハッシュ結合
 結合順序
:
など
1
4
3
2
1
3
1
2
外側の表 内側の表
1
2
3
4
結合列でソート
1
1
2
3
結合列でソート
1
4
3
2
1
3
1
2
小さい表 他方の表
ハッシュ表
結合列値から
ハッシュ表作成
0 --
1 --
2 --
同ハッシュ値
の行と結合
マージ
ソート・マージ結合
ハッシュ結合
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 13
用途に合わせた機能拡張
 GISシステム
地理情報システムといえば PostgreSQL + PostGIS
● 秒間3,000トランザクション、16,000クエリという事例も
 全文検索
日本語全文検索モジュールを使用し、SQLで全文検索
● pg_trgm
● pg_bigm
● textsearch-ja
参考文献:PostgreSQL エンタープライズ・コンソーシアム「スマポでのPostgreSQL導入事例~株式会社スポットライトにおける活用事例~」
https://www.pgecons.org/wp-content/uploads/2013/12/7c14ac1727a38c22295af840fc613321.pdf
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 14
用途に合わせた機能拡張
 JSON型の格納と操作
Webアプリケーションの分野で活用範囲を拡大
● JSON型の格納 (9.2~)
● JSON型を扱う関数の追加 (9.3~)
 他データソースとの連携
Foreign Data Wrapper により他データーソースへSQLでアクセス可能
● postgres_fdw
● file_fdw
● oracle_fdw
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 15
システムの用途とRDBMS
 Oracle Database
・高い可用性
・更新負荷分散
・自動管理
 PostgreSQL
・質実剛健な進化
・多彩なプラン
・機能拡張
 MySQL/MariaDB
・軽量、高速
・参照負荷分散
・Webアプリケーション
ミッション
ミッション
クリティカル領域
クリティカル領域
業務システム
業務システム Web
Webバックエンド
バックエンド
参考文献:日本オラクル「MySQL最新動向&事例紹介」
http://www.ospn.jp/osc2012-spring/PDF/osc2012spring_MySQLPorductUpdate_s.pdf
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 16
解答
 早いのはどれ?
1億件の集計処理
 1.Oracle
 2.Postgres
 3.MySQL
1億件の更新
 1.Postgres
 2.Oracle
 3.MySQL
1億件の
ランダム検索
 1.MySQL
PostgresとOracleは、ほぼ同じ
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 17
システムの特性によって最適なデータベースは異なる。
PostgreSQLが強みを発揮できるシステムとは?
本日のテーマ
クイズ「早いのはどれ?」
ネット上などでよく目にする「Postgresあるある」
はたして本当なのでしょうか。Postgresの現在から真相を追う!
PostgreSQL都市伝説を追う
PostgreSQLの強みがわかったところで、イマドキ事情を交えて
どのような構成が考えられるのか紹介。
PostgreSQLの適用範囲を拡大しようという野望も。
イマドキ構成の紹介
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 18
PostgreSQL都市伝説を追う
 VACUUMって何者?悪者なの?
 情報系のシステムではどうか
 ツールがない?!
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 19
PostgreSQLの現在
 新しいバージョンほど性能は上がっている
CPUスケールアップ
READ/WRITE処理の
性能改善
Index Only Scan
2 4 8 16 32 48 64
0
50,000
100,000
150,000
200,000
250,000
300,000
350,000
400,000
READ 処理の性能比較
9.1 vs 9.2
9.2.0
9.1.5
コア数
秒間処理数
PostgreSQL 9.2の目玉機能
H/Wのメニーコア化が進む中、
搭載CPUを有効に活用可能に
集計用途などで待ち望まれた機能
索引のキー値のみで検索が済む
場合に、テーブルへのアクセスを
行わずに結果を返すしくみ
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 20
PostgreSQLの現在
 標準レプリケーションが毎年強化されている
スイッチオーバ、スイッチバックに対応
on remote_write
10,000
11,000
12,000
13,000
14,000
15,000
同期転送モードにおける性能確保の効果
synchronous_commit パラメータ
秒間処理数
約 5%向上
9.0 ストリーミング・レプリケーションの登場
9.1 ストリーミング・レプリケーションに同期モードが登場
9.2 スタンバイ・サイトから更にデータを伝播させる、カスケード
構成が可能、同期性能を向上するためのパラメータが追加
9.3 正常停止時にプライマリ・スタンバイを入れ替える
スイッチオーバ、スイッチバックが可能に
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 21
PostgreSQLの現在
 追記型のデメリットは8.xの時代に改善
● 自動VACUUM
● Visiblity Map / Free Space Map
● HOT
● VACUUM FULLの仕様変更
HOT機能で索引の更新負荷を軽減
自働VACUUMによる運用負荷軽減
可視化マップやFSMによる空き領域管理
自働
VACUUM
FSM
可視化マップ
適切な設定を行うことで、最近のバージョンで
追記型ゆえ致命的となった事例はない
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 22
PostgreSQLの現在
 情報系DBで使える機能
●
パーティショニング機能
● レプリケーションによる参照負荷分散
● Materialized View (9.3~)
 開発中の新機能
●
パラレル・クエリ
数百GB~TBクラスの情報を扱う現代の
ニーズに対し、取り組みがはじまったところ
大量データの集計
totalization
超大量データの集計
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 23
PostgreSQLの現在
 運用管理ツール(GUI)
● pgAdmin3 (クライアント)
● PostgreSQL Studio (Webベース)
 開発ツール
● SI Object Browser for Postgres
 監視ツール
● pg_monz
 自動メンテナンス系のツールは存在しない
各種ツールが登場してきているが、自動管理
など大規模システムで求められる機能はない
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 24
PostgreSQLの現在
トランザクション系システムで求められることは十分できる
可用性を高める策もでてきている
ツール類は課題
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 25
システムの特性によって最適なデータベースは異なる。
PostgreSQLが強みを発揮できるシステムとは?
本日のテーマ
クイズ「早いのはどれ?」
ネット上などでよく目にする「Postgresあるある」
はたして本当なのでしょうか。Postgresの現在から真相を追う!
PostgreSQL都市伝説を追う
PostgreSQLの強みがわかったところで、イマドキ事情を交えて
どのような構成が考えられるのか紹介。
PostgreSQLの適用範囲を拡大しようという野望も。
イマドキ構成の紹介
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 26
PostgreSQLの構成例
 シングル構成
最近のH/Wでは小規模なものでも「高いCPU性能」
「ローカルディスクに数TB」「RAIDによる保護」など、
社内システムでは十分に実用性の高い構成。
構成例) CPU 2CPU/8core
    RAM 32GB
    DISK 2TB
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 27
PostgreSQLの構成例
 HA構成
サイト内での可用性構成として信頼性が高く、実績も
豊富な構成。性能はシングル構成と同等。
Postgres
Pacemaker
DRBD
Pacemaker
DRBD
Shared Disk
Postgres
クラスタウェア クラスタウェア
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 28
PostgreSQLの構成例
 クラウド基盤に配置
物理CPU課金のないOSSならではの構成。
HW障害の可能性を排除できるほか、クラウド基盤で
提供される機能による運用コスト削減も期待できる。
物理サーバ
物理ストレージ
仮想基盤上の
DBサーバ
仮想基盤上で動作するサーバは
クラウド側が提供するサービスで
監視やバックアップされている
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 29
PostgreSQLの構成例
 レプリケーション構成
マスターサイト スレーブサイト
変更履歴の転送   
(トランザクション単位)   
APサーバなど
参照・更新 参照のみ
HA構成による冗長化
クラスタウェアによる監視・切替
pgpool- II or Pacemaker
標準レプリケーションにクラスタウェアを組み合わせ、
監視・切替を実現させた無停止構成も可能。
レプリケーションは負荷分散のみを目的とすることも。
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 30
ミッション
ミッション
クリティカル領域
クリティカル領域
Postgresの適用領域を拡大
 Oracle Database
・高い可用性
・更新負荷分散
・自動管理機能
 PostgreSQL
● データベースの機能・性能としては
十分に備えている
● ツール不足や、既存の資産を活かす
という点で尻込みしてしまう?
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 31
ミッション
ミッション
クリティカル領域
クリティカル領域
Postgresの適用領域を拡大
 Oracle Database
・高い可用性
・更新負荷分散
・メーカーの優位性
 PostgreSQL
● データベースの機能・性能としては
十分に備えている
● ツール不足や、既存の資産を活かす
という点で尻込みしてしまう?
SE
SEOne
EE
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 32
ミッション
ミッション
クリティカル領域
クリティカル領域
Postgresの適用領域を拡大
 Oracle Database
・高い可用性
・更新負荷分散
・メーカーの優位性
      :
 PostgreSQL
● データベースの機能・性能としては
十分に備えている
● ツール不足や、既存の資産を活かす
という点で尻込みしてしまう?
 Postgres Plus
●
ミッションクリティカル領域で
使えるPostgres
●
エンタープライズ向けツールや、
Oracle互換機能を有する
SE
SEOne
EE
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 33
Postgresの適用領域を拡大
 エンタープライズ用途で必要とされる機能を追加した Postgres Plus
 パフォーマンス
 連携
 他RDBMS互換
 ツール
 セキュリティ
セ
キ
ュ
リ
テ
ィ
ツ
ー
ル
パ
フ
ォ
ー
マ
ン
ス
連
携
他RDBMS互換
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 34
データベースとしての基本に忠実で、ユーザニーズを満たす進化
業務システムなどで期待される高機能、高信頼性を実現
まとめ
PostgreSQLの使いどころ
9.xでの大幅な性能向上、レプリケーション機能、メンテナンス性の
向上に加え、より幅広い用途を目指した進化中
PostgreSQLの現在
基本はシングル構成、HA構成、標準レプリケーション構成
クラウドで扱いやすいライセンスと相まって、今後の活躍に期待
ミッションクリティカル領域で強みを発揮する 「Postgres Plus」
イマドキ構成の紹介
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 35
製品およびサービスについてのお問合わせ先
株式会社アシスト
データベース技術本部
TEL:03-5276-3652
MAIL:database@ashisuto.co.jp
URL:http://www.ashisuto.co.jp/
※本資料に記載されている社名、製品名は各社の商標または登録商標です。
※本資料の全体または一部に記載されている内容については、予告なく変更する場合があります。

Oss x user_meeting_6_postgres

  • 1.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 1 PostgreSQLの優位性 株式会社アシスト データベース技術本部 喜田 紘介 OSSユーザーのための勉強会 第6回 2014/04/15
  • 2.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 2 自己紹介  喜田 紘介(きだ こうすけ)  所属 ● 株式会社アシスト データベース技術本部 ● 日本PostgreSQLユーザ会 事務局スタッフ  仕事 ● Oracleの構築、設計、研修講師などを経てPostgreSQL専任のチームへ ● 新規構築するシステムのDBをどうすべきか?というRDBMS選択支援や、 商用DBからOSSへの移行の前段階として、オブジェクトやSQL差異の レクチャーや、データベースの診断・評価を行う 移行アセスメント支援 を 主に担当  趣味 ● マラソン、絵を書くこと(ごく最近)
  • 3.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 3 クイズ「早いのはどれ?」 1億件のデータ更新 1億件の集計処理 1億件のランダム一意検索
  • 4.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 4 システムの特性によって最適なデータベースは異なる。 PostgreSQLが強みを発揮できるシステムとは? 本日のテーマ クイズ「早いのはどれ?」 ネット上などでよく目にする「Postgresあるある」 はたして本当なのでしょうか。過去、現在、未来から噂を検証。 PostgreSQL都市伝説を追う PostgreSQLの強みがわかったところで、イマドキ事情を交えて どのような構成が考えられるのか紹介。 PostgreSQLの適用範囲を拡大しようという野望も。 イマドキ構成の紹介
  • 5.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 5 クイズ「早いのはどれ?」 1億件のデータ更新 1億件の集計処理 1億件のランダム一意検索
  • 6.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 6 特徴 Oracle Database 高い可用性 更新負荷分散 自動管理機能 PostgreSQL 質実剛健 複雑なSQL 多彩な機能拡張 MySQL 軽量、高速 参照負荷分散 Webアプリケーション
  • 7.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 7 PostgreSQL=質実剛健なDB  質実剛健とは ・開発の歴史 ・トランザクションの実装  複雑な処理もこなす優等生 ・多彩なプラン ・パーティショニング  豊富な機能拡張 ・GIS ・fdw ・全文検索
  • 8.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 8 Post - gres - SQL  1986年 POSTGRESプロジェクト ● RDBMSの先駆けであるIngresの開発をオープンソースとして継続 ● トランザクション対応を盛り込んだデザイン設計 ● 1993年にプロジェクトは終了  1994年 Postgres 95 ● POSTGRESにSQL対応を追加し、独自に開発を再開  1996年 PostgreSQLが誕生 ● オリジナルのPOSTGRESとSQLの能力を持つ ● バージョンは6.0から 参考文献:PostgreSQL 9.3.2文書-PostgreSQL小史(http://www.postgresql.jp/document/9.3/html/history.html) THE DESIGN OF POSTGRES(http://db.cs.berkeley.edu/papers/ERL-M85-95.pdf)
  • 9.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 9 トランザクションの実装  データベースは多くのユーザから同時アクセスされる ● 同時実行制御 ● 読み取り一貫性  同時実行制御 ● エスカレーションのない行ロック ● 最小限のオーバーヘッドで確保される表ロック  読み取り一貫性 ● 追記型 ① x1 SELECT開始 ② x2 UPDATE ③ x1 SELECT ④ x3 SELECT ⑤ x4 SELECT
  • 10.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 10 ユーザニーズに沿って発展  その後もデータベースに「あるべき機能」を追加  ユーザの求める機能とは 7.x JOIN構文や変更履歴といったRDBMSとしての基本機能 8.x PITR、Windows対応、内部動作の性能改善など 9.x レプリケーション、CPUスケール等より幅広い用途へ
  • 11.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 11 PostgreSQLの実用可能な範囲 トランザクション系はほとんどOK 複雑な処理  複雑って? 機能 複雑な結合 リアルタイムデータ連携 大量データの集計 totalization 超大量データの集計 一意検索 一意検索’ 結合の数
  • 12.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 12 計画タイプ  表スキャン ● Seq Scan、Index Scan ● Bitmap Scan  結合方法 ● ネステッド・ループ結合 ● ソート・マージ結合 ● ハッシュ結合  結合順序 : など 1 4 3 2 1 3 1 2 外側の表 内側の表 1 2 3 4 結合列でソート 1 1 2 3 結合列でソート 1 4 3 2 1 3 1 2 小さい表 他方の表 ハッシュ表 結合列値から ハッシュ表作成 0 -- 1 -- 2 -- 同ハッシュ値 の行と結合 マージ ソート・マージ結合 ハッシュ結合
  • 13.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 13 用途に合わせた機能拡張  GISシステム 地理情報システムといえば PostgreSQL + PostGIS ● 秒間3,000トランザクション、16,000クエリという事例も  全文検索 日本語全文検索モジュールを使用し、SQLで全文検索 ● pg_trgm ● pg_bigm ● textsearch-ja 参考文献:PostgreSQL エンタープライズ・コンソーシアム「スマポでのPostgreSQL導入事例~株式会社スポットライトにおける活用事例~」 https://www.pgecons.org/wp-content/uploads/2013/12/7c14ac1727a38c22295af840fc613321.pdf
  • 14.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 14 用途に合わせた機能拡張  JSON型の格納と操作 Webアプリケーションの分野で活用範囲を拡大 ● JSON型の格納 (9.2~) ● JSON型を扱う関数の追加 (9.3~)  他データソースとの連携 Foreign Data Wrapper により他データーソースへSQLでアクセス可能 ● postgres_fdw ● file_fdw ● oracle_fdw
  • 15.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 15 システムの用途とRDBMS  Oracle Database ・高い可用性 ・更新負荷分散 ・自動管理  PostgreSQL ・質実剛健な進化 ・多彩なプラン ・機能拡張  MySQL/MariaDB ・軽量、高速 ・参照負荷分散 ・Webアプリケーション ミッション ミッション クリティカル領域 クリティカル領域 業務システム 業務システム Web Webバックエンド バックエンド 参考文献:日本オラクル「MySQL最新動向&事例紹介」 http://www.ospn.jp/osc2012-spring/PDF/osc2012spring_MySQLPorductUpdate_s.pdf
  • 16.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 16 解答  早いのはどれ? 1億件の集計処理  1.Oracle  2.Postgres  3.MySQL 1億件の更新  1.Postgres  2.Oracle  3.MySQL 1億件の ランダム検索  1.MySQL PostgresとOracleは、ほぼ同じ
  • 17.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 17 システムの特性によって最適なデータベースは異なる。 PostgreSQLが強みを発揮できるシステムとは? 本日のテーマ クイズ「早いのはどれ?」 ネット上などでよく目にする「Postgresあるある」 はたして本当なのでしょうか。Postgresの現在から真相を追う! PostgreSQL都市伝説を追う PostgreSQLの強みがわかったところで、イマドキ事情を交えて どのような構成が考えられるのか紹介。 PostgreSQLの適用範囲を拡大しようという野望も。 イマドキ構成の紹介
  • 18.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 18 PostgreSQL都市伝説を追う  VACUUMって何者?悪者なの?  情報系のシステムではどうか  ツールがない?!
  • 19.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 19 PostgreSQLの現在  新しいバージョンほど性能は上がっている CPUスケールアップ READ/WRITE処理の 性能改善 Index Only Scan 2 4 8 16 32 48 64 0 50,000 100,000 150,000 200,000 250,000 300,000 350,000 400,000 READ 処理の性能比較 9.1 vs 9.2 9.2.0 9.1.5 コア数 秒間処理数 PostgreSQL 9.2の目玉機能 H/Wのメニーコア化が進む中、 搭載CPUを有効に活用可能に 集計用途などで待ち望まれた機能 索引のキー値のみで検索が済む 場合に、テーブルへのアクセスを 行わずに結果を返すしくみ
  • 20.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 20 PostgreSQLの現在  標準レプリケーションが毎年強化されている スイッチオーバ、スイッチバックに対応 on remote_write 10,000 11,000 12,000 13,000 14,000 15,000 同期転送モードにおける性能確保の効果 synchronous_commit パラメータ 秒間処理数 約 5%向上 9.0 ストリーミング・レプリケーションの登場 9.1 ストリーミング・レプリケーションに同期モードが登場 9.2 スタンバイ・サイトから更にデータを伝播させる、カスケード 構成が可能、同期性能を向上するためのパラメータが追加 9.3 正常停止時にプライマリ・スタンバイを入れ替える スイッチオーバ、スイッチバックが可能に
  • 21.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 21 PostgreSQLの現在  追記型のデメリットは8.xの時代に改善 ● 自動VACUUM ● Visiblity Map / Free Space Map ● HOT ● VACUUM FULLの仕様変更 HOT機能で索引の更新負荷を軽減 自働VACUUMによる運用負荷軽減 可視化マップやFSMによる空き領域管理 自働 VACUUM FSM 可視化マップ 適切な設定を行うことで、最近のバージョンで 追記型ゆえ致命的となった事例はない
  • 22.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 22 PostgreSQLの現在  情報系DBで使える機能 ● パーティショニング機能 ● レプリケーションによる参照負荷分散 ● Materialized View (9.3~)  開発中の新機能 ● パラレル・クエリ 数百GB~TBクラスの情報を扱う現代の ニーズに対し、取り組みがはじまったところ 大量データの集計 totalization 超大量データの集計
  • 23.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 23 PostgreSQLの現在  運用管理ツール(GUI) ● pgAdmin3 (クライアント) ● PostgreSQL Studio (Webベース)  開発ツール ● SI Object Browser for Postgres  監視ツール ● pg_monz  自動メンテナンス系のツールは存在しない 各種ツールが登場してきているが、自動管理 など大規模システムで求められる機能はない
  • 24.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 24 PostgreSQLの現在 トランザクション系システムで求められることは十分できる 可用性を高める策もでてきている ツール類は課題
  • 25.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 25 システムの特性によって最適なデータベースは異なる。 PostgreSQLが強みを発揮できるシステムとは? 本日のテーマ クイズ「早いのはどれ?」 ネット上などでよく目にする「Postgresあるある」 はたして本当なのでしょうか。Postgresの現在から真相を追う! PostgreSQL都市伝説を追う PostgreSQLの強みがわかったところで、イマドキ事情を交えて どのような構成が考えられるのか紹介。 PostgreSQLの適用範囲を拡大しようという野望も。 イマドキ構成の紹介
  • 26.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 26 PostgreSQLの構成例  シングル構成 最近のH/Wでは小規模なものでも「高いCPU性能」 「ローカルディスクに数TB」「RAIDによる保護」など、 社内システムでは十分に実用性の高い構成。 構成例) CPU 2CPU/8core     RAM 32GB     DISK 2TB
  • 27.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 27 PostgreSQLの構成例  HA構成 サイト内での可用性構成として信頼性が高く、実績も 豊富な構成。性能はシングル構成と同等。 Postgres Pacemaker DRBD Pacemaker DRBD Shared Disk Postgres クラスタウェア クラスタウェア
  • 28.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 28 PostgreSQLの構成例  クラウド基盤に配置 物理CPU課金のないOSSならではの構成。 HW障害の可能性を排除できるほか、クラウド基盤で 提供される機能による運用コスト削減も期待できる。 物理サーバ 物理ストレージ 仮想基盤上の DBサーバ 仮想基盤上で動作するサーバは クラウド側が提供するサービスで 監視やバックアップされている
  • 29.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 29 PostgreSQLの構成例  レプリケーション構成 マスターサイト スレーブサイト 変更履歴の転送    (トランザクション単位)    APサーバなど 参照・更新 参照のみ HA構成による冗長化 クラスタウェアによる監視・切替 pgpool- II or Pacemaker 標準レプリケーションにクラスタウェアを組み合わせ、 監視・切替を実現させた無停止構成も可能。 レプリケーションは負荷分散のみを目的とすることも。
  • 30.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 30 ミッション ミッション クリティカル領域 クリティカル領域 Postgresの適用領域を拡大  Oracle Database ・高い可用性 ・更新負荷分散 ・自動管理機能  PostgreSQL ● データベースの機能・性能としては 十分に備えている ● ツール不足や、既存の資産を活かす という点で尻込みしてしまう?
  • 31.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 31 ミッション ミッション クリティカル領域 クリティカル領域 Postgresの適用領域を拡大  Oracle Database ・高い可用性 ・更新負荷分散 ・メーカーの優位性  PostgreSQL ● データベースの機能・性能としては 十分に備えている ● ツール不足や、既存の資産を活かす という点で尻込みしてしまう? SE SEOne EE
  • 32.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 32 ミッション ミッション クリティカル領域 クリティカル領域 Postgresの適用領域を拡大  Oracle Database ・高い可用性 ・更新負荷分散 ・メーカーの優位性       :  PostgreSQL ● データベースの機能・性能としては 十分に備えている ● ツール不足や、既存の資産を活かす という点で尻込みしてしまう?  Postgres Plus ● ミッションクリティカル領域で 使えるPostgres ● エンタープライズ向けツールや、 Oracle互換機能を有する SE SEOne EE
  • 33.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 33 Postgresの適用領域を拡大  エンタープライズ用途で必要とされる機能を追加した Postgres Plus  パフォーマンス  連携  他RDBMS互換  ツール  セキュリティ セ キ ュ リ テ ィ ツ ー ル パ フ ォ ー マ ン ス 連 携 他RDBMS互換
  • 34.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 34 データベースとしての基本に忠実で、ユーザニーズを満たす進化 業務システムなどで期待される高機能、高信頼性を実現 まとめ PostgreSQLの使いどころ 9.xでの大幅な性能向上、レプリケーション機能、メンテナンス性の 向上に加え、より幅広い用途を目指した進化中 PostgreSQLの現在 基本はシングル構成、HA構成、標準レプリケーション構成 クラウドで扱いやすいライセンスと相まって、今後の活躍に期待 ミッションクリティカル領域で強みを発揮する 「Postgres Plus」 イマドキ構成の紹介
  • 35.
    Copyright © 2014K.K.Ashisuto All Rights Reserved. 35 製品およびサービスについてのお問合わせ先 株式会社アシスト データベース技術本部 TEL:03-5276-3652 MAIL:database@ashisuto.co.jp URL:http://www.ashisuto.co.jp/ ※本資料に記載されている社名、製品名は各社の商標または登録商標です。 ※本資料の全体または一部に記載されている内容については、予告なく変更する場合があります。