講演資料のダウンロードはこちらから

EnterpriseDB Summit 2014 Tokyo
2014年7月
商用RDBMSユーザが
PostgreSQL/Postgres Plusを活用する際に
考慮すべき7つのポイント
株式会社アシスト
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
1
アジェンダ
1
アシスト と PostgreSQL / Postgres Plus
2
PostgreSQL / Postgres Plus の採用傾向
3
採用するための7つのポイント
4
さいごに
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
2
アシスト会社概要
オフィス所在地
設立
1972年3月
代表取締役会長
ビ ル・ ト ッ テ ン
代表取締役社長
大塚 辰男
資本金
6,000万円
売上高
211億円 ( 2013年度)
社員数
850名 ( 2014年4月現在)
事業内容
本社所在地
オ フ ィ ス 所在地
札幌
※グループ会社:㈱アシスト北海道 併設
コンピュータ用パッケージ・ソフトウェア
の販売、技術サポート、教育および
コンサルティング
東京都千代田区九段北4-2-1
市ヶ 谷東急ビ ル
札幌、 仙台、 名古屋、 金沢、
大阪、 広島、 宇部、 福岡、 沖縄
取引会社数
5,600社 ( 2013年度)
主要取扱製品数
60製品 ( 2014年4月現在)
グ ルー プ 会社
株式会社ア シ ス ト 北海道
株式会社のれん
市ヶ谷オフィスおよび大阪オフィスのサービス
事業部におけるコンピュータソフトウェア・
パッケージの販売、テクニカルサポート、教育
およびコンサルティングサービスの提供に対
してISO27001の認証を取得しています。
仙台
金沢
東京本社
宇部
※グループ会社:
㈱のれん 併設
※サポートセンターのみ
名古屋
福岡
広島
沖縄
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
大阪
サポートセンター
3
パッケージ・インテグレータ
● パッケージ・ソフトウェア専門商社
● 開発をせず、パッケージ・ソフトウェア活用支援
● パッケージ・ソフトウェアの発掘、展開の循環
パッケージ・ソフトウェア
ニーズに合った製品セレクト
蓄積された豊富な知識と経験
満足度の高いサポートセンター
使いこなし重視のオリジナル研修
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
4
アシストが提供する価値とは
『2006年年頭に、全社員に送付された現会長:ビル・トッテンのレター』
アシストは「ソフトウェア・パッケージ」の代価をサプライヤーに支払い、アシストが
手にする売上は、アシストが付加した「価値」に対する代価のみです。
具体的にその「付加価値」とは、 ・ユーザへのソフトウェアの紹介とソフトウェアの選択支援
・ソフトウェアの導入と活用方法の習得支援
・技術サポート
の3つです。
ソフトウェアが商用であっても、オープンソースであっても、ユーザが必要とする
サービスは上記3つであることに変わりありません。
逆にアシストの顧客がわれわれのサービスによって安心してオープンソースを
活用できるようになれば、これまで商用ソフトウェアのサプライヤーに支払って
いたロイヤリティ分だけ、コスト削減を実現することができるのです。
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
5
DBMSプロダクト取扱いの歴史
● DBMSはシステム・ソフトウェアの中核である
●
DBMSを中心として様々なツールやユーティリティが開発
1974年
1985年
1987年
2009年
2011年
2012年
製品 / サービス
シンコム・システムズ社「TOTAL」
コンピュータ・アソシエイツ社「IDEAL」
オラクル社「Oracle Database」
オープンソース「PostgreSQL」サポート
エンタープライズDB社「Postgres Plus」
オープンソース「MySQL / MariaDB」サポート
インフィニディービー社「InfiniDB」
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
6
アジェンダ
1
アシスト と PostgreSQL / Postgres Plus
2
PostgreSQL / Postgres Plus の採用傾向
3
採用するための7つのポイント
4
さいごに
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
7
DBMSの選択肢の広がり
採用しているRDBMS
100%
80%
Oracle Database
IBM DB2
60%
Microsoft SQL
Server
40%
MySQL/MariaDB
PostgreSQL
20%
0%
2010 年2月17日
2013年11月7日
採用しているRDBMSの割合(複数回答可)
2013年11月7日 弊社イベント 「DB One Day Seminar」より
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
8
多くの企業で活用が始まる
2010
2011
2012
2013
弊社 PostgreSQL/Postgres
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
Plus 関連売上情報より
9
PostgreSQL / Postgres Plus 取組み
● 自社(グループ企業)で活用する
●
ANAシステムズ 様
–
2014年 アシストフォーラム 事例講演
● お客様に提案する
●
アイテック阪急阪神 様
–
2013年 アシストフォーラム 事例講演
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
10
採用に至るまでの課題
課題
トップダウン
背景
現場が採用しな
い
スイッチングコス
ユーザ起点 トと期間
・責任を負いたくない
・実績、ノウハウ、技術者
がいない
ポイント
・現場の責任を転嫁する仕
組み
・採用のハードルを下げ、品
質を保つ仕組み
SQL、PL/SQLの修正、テ ・システムライフサイクルを
ストが必要
考慮したコストを試算
・その後のビジネスプランを
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
11
アジェンダ
1
アシスト と PostgreSQL / Postgres Plus
2
PostgreSQL / Postgres Plus の採用傾向
3
活用するためのポイント
4
さいごに
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
12
採用までの流れ
● 6つの主な活動と4つの支援活動
1.評価
2.試算
3.試用
4.標準
5.適用
7.調達
技術開発
6.展開
人材育成
全体管理
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
13
1.適性を評価する
● 非機能要件を中心に機能評価する
●
実システムを想定して、採用の向き不向きが判定できるレ
ベルの知識を有すること
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
14
1.適性を評価する
● 商用RDBMSとの処理傾向の違いを把握する
●
机上調査だけでなく簡単な実機動作結果を有すること
評価バージョン
PostgreSQL 9.3
Postgres Plus 9.3
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
15
2.適用効果を試算する
● 既存DBシステムを非機能要件で仕分けする
●
IPA 非機能要件グレードを参考とする
非機能要求グレード利用
ガイド[利用編] P27 より
Copyright © 2010 IPA
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
16
2.適用効果を試算する
● シンプルで数値化できる試算上の目安をつくる
●
同時接続数、CPUコア数、データ・サイズ、稼働率 など
例
タイプ
用途
同時接続数
CPUコア数 データ・サイズ スケールアウト
稼働率
OLTP
業務
500
16
99.99%
1TB
参照のみ
Postgres Plus を 選択する条件
・商用RDBMSからの移行で以下の機能が必要な場合
パーティションニング、高度セキュリティ、性能管理、運用管理、
異機種DBデータ連携、SQLヒント、SQL/プロシージャ互換
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
17
2.適用効果を試算する
● システム・ライフサイクルを考慮してコストを試算
●
調達、資産 or 経費、改修、育成、運用など
–
サブスクリプション方式
●
●
ソフトウェアの利用した期間に応じて料金を支払う方式
会計的にはソフトウェアを資産ではなく経費として処理できる
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
18
3.サンプルプロジェクトで試用する
● 社内外のステークホルダー向けに実績をつくる
●
選定対象
–
コスト、技術的にインパクトのあるシステムの一部分
●
●
●
●
Oracle Database Enterprise Edition
Oracle Real Application Clusters
Oracle Partitioning
対応範囲
–
–
対象システムの一部分
データ移行、アプリケーション改修、可用性確認など
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
19
4.標準ガイドラインを整備する
● 採用のハードルを下げ、品質を確保する仕組み
●
●
●
●
●
採用および構成選定ガイドライン
物理設計ガイドライン
運用ガイドライン
コーディング・ガイドライン
データベース移行ガイドライン
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
20
採用および構成選定ガイドライン
・システム構成
・データ配置方針
・障害対策方針
・障害発生の防止策
・障害発生時の対策
・災害発生時の対策
・性能・拡張性対策方針
・サーバ・リソースのサイジング
・サーバのリソース拡張方式
・データベース移行方針
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
?
21
採用および構成選定ガイドライン より
(1)採用の目安とする要件の例
採用の目安
備考
データサイズ
必要CPUコア
1TB
16
インスタンスへの割当てメモリ
10GB
同時接続数
処理の増加率
500
200%
OLTPのレスポンス順守率
90%
障害復旧時のフルリストア、リカバリ時間を考慮
バージョン9.3では、OLTPは16CPUコアまでス
ケールアップを確認
バージョン9.3までは、Linux環境下における共
有メモリ領域のhugepage設定がされていない
ため
OLTPの同時接続試験より
検索、更新を共にシンプルにスケールアウトでき
ないため、スケールアップの対処を基準とする
自動VACUUMの影響を考慮
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
22
採用および構成選定ガイドライン より
(2)可用性と拡張性、データ連携
採用の目安
備考
稼働率
99.99%
可用性構成
Active/Stanbyのクラ
スタリングソフトウェア
年間停止時間概算:1時間
商用RDBMSで一般的に利用されている
Active/Stanbyのクラスタリング構成を基本とす
る
商用RDBMSと併用する場合、管理手法が同じ
Active/Stanbyのクラスタリング方式を第一候
補として考える。フェイルバックが容易である点も
他の方式と比べて優位な点である
仮想化環境に実装する場合、仮想化ソフトウェア
のHA機能を利用することも検討する
厳密なリアルタイム性を求めない参照処理の拡
張構成としてストリーミング・レプリケーションを
検討する
異機種RDBMS間、バージョン間のデータ連携を
テーブル単位に実施することができる数少ない
方法である
拡張性
データ連携
仮想化ソフトウェアのク
ラスタリング機能
ストリーミング・レプリ
ケーション
xDBReplication
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
23
物理設計ガイドライン
・バージョンの選定基準
・データベース関連ファイルの構成と配置
・表領域の設計
・メモリ設計
・初期化パラメータ
・データベースクラスタ初期化時の設定
・DBオブジェクト設計
・OS設定
・ネットワーク設計
・インストール方法
・インストール時の設定
・ユーザ設計
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
24
物理設計ガイドライン より
(3)WAL領域、アーカイブ領域
WAL領域
アーカイブ領域
RAID構成
RAID 1+0
RAID 1+0
アクセスタイプ
シーケンシャル
シーケンシャル
配置先
データベース・クラスタとは別配置
データベース・クラスタとは別配置
参考サイズ
800MB
30GB
サイズ算出式と
前提条件
( ( 3 × checkpoint_segments ) +
1) × WAL ファイルサイズ
WAL ファイルサイズ × 1 時間あたり
のファイル数 × 24 × アーカイブファイ
ル世代数
前提条件
・checkpoint_segments : 16
・WAL ファイルサイズ : 16MB
前提条件
・WAL ファイルサイズ : 16MB
・1 時間のファイル数 : 20
・アーカイブファイル世代数 : 2
備考
アーカイブ領域の領域不足等でアーカイブできない状態となっても、当面の接
続、参照、更新処理の全て可能である。ただし、アーカイブに欠落が発生するの
を回避するため、本来削除されるべき WAL ファイルが残存する状態となる。そ
れにより WAL 領域の領域が不足し、 WAL スイッチができない状態となると、
データベースクラスタが停止する。
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
25
運用ガイドライン
・監視
・死活監視
・しきい値監視
・エラー監視
・LOGレベル監視 等
・ログ管理
・データベース監査
・バージョンアップ
・バックアップ・リカバリ
・メンテナンス
・VACUUM / ANALYZE
・インデックスの断片化解消
・不要インデックスの対処
・テーブルの肥大化解消 等
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
26
運用ガイドライン より
(4)インデックスの断片化
インデックスの断片化対処
監視間隔
監視方法
閾値
1日〜7日
pgstatindex 関数
以下のいずれかを満たした場合
・階層の高さ: 4階層以上
・リーフページの断片化率 : マスタ表: 20%、ファクト表: 50%
対処
インデックスの再作成
対処方法
DROP/CREATE
REINDEX
CREATE INDEX
CONCURRENTLY
インデックスを使用した問合せ
×
○
○
再作成中のDML
×
×
○
B*Tree高さの圧縮
○
○
○
リーフ・ブロックの圧縮
○
○
○
未使用領域の開放
○
○
○
再作成中の追加領域
不要
一時的に既存と新規の索引領域
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
27
運用ガイドライン より
(5)エラー、ログ監視
エラー監視
備考
監視間隔
5分
システムの監視要件による
監視方法
サーバログ
エラーコード のクラス(エラーコードの最初の2ケタ)を監視対象
とする
監視対象
クラス 53
リソース不足(メモリ不足、接続数制限 等)
例:53300 too_many_connections
クラス 57
操作の介入(SQL強制終了、セッション強制終了、DBの削除 等)
例:57014 query_canceled
クラス 58
システムエラー(外部原因によるPostgreSQL自体のエラー)
同時に出力される DETAIL や HINT から状況を確認する
例:58030 io_error
クラス XX
内部エラー(データ障害、インデックス障害)
例:XX001 data_corrupted
ログ出力情報の制御
log_line_prefix
'%t pid=[%p] tid=[%x] SQL state=[%e] %q(%u %d %r %a) '
SQLSTATE エラーコードも出力する
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
28
コーディング・ガイドライン
・SQLコーディング
・使用可能な予約後および構文
・暗黙の型変換の禁止
・コード保守性、可読性の向上
・アクセス方法の工夫
・ソート処理に関する注意事項
・結合に関する注意事項
・索引を利用する場合の注意事項
・DMLに関する注意事項
・トランサクション制御に関する注意事項
・データ取得方法に関する注意事項
・SQL実行計画変動の防止 等
・PL/pgSQLコーディング
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
29
コーディング・ガイドライン より
(6)トランザクションの考慮事項
デフォルト動作
PostgreSQL
Postgres Plus
自動コミット
自動コミット
トランザクション開 明示的にトランザクション開始を宣言
始の宣言
自動コミットの停止と、暗黙的なトラン
ザクション開始を設定可能
トランザクション内 トランザクション内のあるSQLで例外が
のSQL分離レベル 発生した場合、トランザクション全体が
破棄されるため、次のトランザクション
を開始するためには、明示的にロール
バックしなければならない
トランザクション内のあるSQLで例外が
発生した場合、当該SQLがロールバッ
クされるだけで、トランザクションは継続
する設定が可能
動作設定
edb_stmt_level_tx パラメータを
TRUEに設定することで、OracleDBと
同様な動作が可能となる
JDBC:db.setAutoCommit(false)な
どクライアントアプリケーション側で自
動コミットを停止する制御が可能
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
30
データベース移行ガイドライン
・データベース移行フロー
・データベース互換性
・スキーマ定義移行
・データ移行
・SQLおよびPL/SQLの移行
・SQLの修正
・トランザクション制御
・プロシージャの修正 等
・アプリケーション移行
・Oracleアプリケーションからの移行
・Java
・C言語 等
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
31
データベース移行ガイドライン より
(7)パーティショニングの考慮事項
PostgreSQL
Postgres Plus
実装手法
テーブルの継承(親子テーブル)
CHECK制約
PL/pgSQL トリガー
テーブルの継承(親子テーブル)
CHECK制約
C言語による実装
実装手順
プルーニング
各コマンド、プロシージャ
パーティション用のDDL
親テーブルへのSELECT、UPDATE、DELETE は子テーブルに自動的に振分
けられる。INSERTは親テーブルのトリガー定義により子テーブルに挿入先を振
り分ける
継承およびトリガーでのプルーニング C言語による高速プルーニングの実装
のため1つの表に対して100個のパー により1つの表に1000個のパーティ
ティションを目安に利用する
ションにも対応
パーティション全体に対する一意性を保証するインデックスを作成できない
別途、テーブル継承の再定義などを実 パーティションに対して、ADD、SPLIT、
施
EXCHANGE,MOVE、RENAME、DR
OP、TRUNCATEが可能
パーティション数
インデックス
メンテナンス
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
32
5.適用計画をつくる
● 適用しやすいプロジェクトを選ぶ
●
●
●
アプリケーションの再作成が発生するもの
DBシステムの要件として十分適用が可能なもの
ガイドラインに準拠しやすいもの
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
33
6.社内に展開する
● ガイドラインの普及と人材育成
●
ガイドラインを利用して現場担当者へノウハウを共有
● ガイドラインを育てる
●
●
適合度の判定を行い浸透度を測る仕組み
現場の要望やノウハウをガイドラインへ反映する流れ
計画
Plan
改善
Act
実行
Do
評価
Check
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
34
7.調達
● 既存DBMSとPostgreSQL/Postgres
Plusの両方を
理解しているパートナーと協同する
●
●
●
●
適材適所のDBMSの選定が可能
過度なチャレンジや、消極的な対応を是正できる
データ連携等では両DBMSの技術スキルが必要となる
既存DBMSの用語で会話できるとコミニケーションが円
滑になる
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
35
アジェンダ
1
アシスト と PostgreSQL / Postgres Plus
2
PostgreSQL / Postgres Plus の採用傾向
3
採用するための7つのポイント
4
さいごに
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
36
アシストのサービス
● 採用、活用の各フェーズを支援します
評価
試算
試用
標準
適用
調達
技術開発
展開
人材育成
全体管理
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
37
アシストのサービス
● 採用、活用の各フェーズを支援します
評価技術コンサルティングサービス
試算
試用
標準
適用
調達
技術開発
展開
人材育成
全体管理
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
38
アシストのサービス
● 採用、活用の各フェーズを支援します
評価技術コンサルティングサービス
試算
試用
標準
適用
製品サポート
調達
技術開発
展開
人材育成
全体管理
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
39
アシストのサービス
● 採用、活用の各フェーズを支援します
評価技術コンサルティングサービス
試算
試用
標準
適用
製品サポート
調達
技術開発
技術支援サービス
展開
人材育成
全体管理
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
40
アシストのサービス
● 採用、活用の各フェーズを支援します
評価技術コンサルティングサービス
試算
試用
標準
適用
製品サポート
調達
技術開発
技術支援サービス
展開
人材育成
OSS-DB準拠の教育サービス
全体管理
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
41
コンサルティングサービスのサンプル
http://www.ashisuto.co.jp/product/category/d
atabase/postgresql/service/list/guideline.html
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
42
製品およびサービスについてのお問合わせ先
株式会社アシスト
情報基盤事業部 ビジネス推進部
TEL:03-5276-3653
MAIL:[email protected]
URL:http://www.ashisuto.co.jp/
※本資料に記載されている社名、製品名は各社の商標または登録商標です。
※本資料の全体または一部に記載されている内容については、予告なく変更する場合があります。
Copyright © 2014 K.K.Ashisuto All Rights Reserved.
43