オープンソース・データベース...
TRANSCRIPT
オープンソース・データベースオープンソース・データベースPostgreSQLPostgreSQLが与えるインパクトが与えるインパクト
SRA OSS, Inc.日本支社
取締役支社長
石井 達夫
Copyright(c)2010 SRA OSS, Inc. Japan 2
SRA OSS, Inc.のご紹介
● 2005年設立、本社米国、(株)SRAの100%子会社
● PostgreSQLを中心とした、OSSへの様々なサービスを提供● サポートサービス、コンサルティング● パッケージ製品
● PowerGres, libTextConv, Sylpheed Pro● 教育サービス
● トレーニング● 技術者認定制度(PostgreSQL CE)
● Http://www.sraoss.co.jp
Copyright(c)2010 SRA OSS, Inc. Japan 3
自己紹介
● 1984年(株)SRA入社● 1991年-1993年ホノルル研究所(当時)赴任、postgresと
の出会い● 1999年
● 日本PostgreSQLユーザ会立ち上げ● オープンソースビジネスを社内で開始● PostgreSQLコミッタになる
● 2005年 SRA OSS, Inc.日本支社設立● 2008年 OBCI設立
Copyright(c)2010 SRA OSS, Inc. Japan 4
データベースとは● データベースの特徴
● 大量のデータを効率よく扱う目的に特化したソフトウェア● 専用の言語(SQL)でデータの追加、変更、削除、検索などが可能● データの整合性や安全性を担保する機能があり、重要なデータの
保存にも適している● 代表的なデータベース製品
● Oracle, SQL Server, DB2(商用)● PostgreSQL, MySQL(オープンソース), Firebird, SQLite
● 業務システムになくてはならない存在
Copyright(c)2010 SRA OSS, Inc. Japan 5
PostgreSQLとは
● 10年以上の歴史を持ち機能、信頼性、安定性に定評のあるデータベース
● Java, Perl, Ruby, PHP, Cなど、ほとんどの言語から利用可能
● Linux、Windows、UNIXなど、ほとんどのプラットフォームで稼働
Copyright(c)2010 SRA OSS, Inc. Japan 6
独立行政法人 情報処理推進機構「2008年度 オープンソースソフトウェア活用ビジネス実態調査」より引用
広く利用されているPostgreSQL
%
Apache
PostgreSQL
MySQL
Samba
Sendmail
Bind
OpenSSH
OpenSSL
vsftpd
Postfix
0 10 20 30 40 50 60 70
PostgreSQLの利用者はApacheについで
第2位!
Copyright(c)2010 SRA OSS, Inc. Japan 7
急速に成長を続けるPostgreSQL
6.1 6.2 6.3 6.4 6.5 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 9.00
200000
400000
600000
800000
1000000
1200000
トリガ
副問い合わせマルチバイト
PL/pgSQL
行ロックMVCC
WALログTOAST
ConcurrentVacuum
Windows対応
マルチプロセッサ最適化
HOT全文検索autovac
uum
再帰SQLWindow関数
1997
1998
1999
2000
2001
2002
2003
2005
2006
2008
2009
組み込みレプリケー
ション
2010
ソースコード行数
Copyright(c)2010 SRA OSS, Inc. Japan 8
PostgreSQL開発の新たな展開● 従来
● OSS専門企業やSIerのエンジニアが中心になって開発していた● 最近の傾向
● 先進的なユーザ企業が、自分の欲しい機能を自ら開発(NTT)、あるいはスポンサーになって開発を支援(住友電工)
● PostgreSQLに限らず最近の世界的な傾向?● Google, Amazon, 楽天...
● ユーザニーズの反映->ユーザが増える->ユーザニーズの反映... という好循環
● 専門家だけで開発していたときと比べると、技術革新の速度が上がっている
Copyright(c)2010 SRA OSS, Inc. Japan 9
更に考察...
● 商用ソフトを売っているメーカは、自分の首をしめることになるので、OSS開発に参入することに心理的なためらいがある
● しかし、そうこうしている間にユーザはどんどんOSSを使い始める
● 商用ソフトのライセンス販売に依存しないビジネスモデルを模索し、新たな一歩を踏み出さないと生き残れない
Copyright(c)2010 SRA OSS, Inc. Japan 10
コストベースオプティマイザ
行ロックMVCC
ストアドプロシジャ
トリガユーザ定義データ型
XML全文検索
レプリケーション
パーティショニング
可用性向上ディザスタリカバリ負荷分散
オンラインバックアップバイナリ/SQL
性能向上
標準SQLの利用
アプリケーション可搬性の向上
データ保全運用性向上
PostgreSQLの機能
付加機能
Copyright(c)2010 SRA OSS, Inc. Japan 11
DB層のOSS化が注目される理由
AP
DB
Webの3層構造では、台数はWebの方が多いがコストはDBの方がかかる
Web
Copyright(c)2010 SRA OSS, Inc. Japan 12
商用DBから様々なOSS DBへの移行
PostgreSQL MySQL Firebird0
10
20
30
40
50
60
70
80
独立行政法人 情報処理推進機構「2008年度 オープンソースソフトウェア活用ビジネス実態調査」より引用
%
Copyright(c)2010 SRA OSS, Inc. Japan 13
PostgreSQLが移行先DBとして選ばれる理由
● データ型、関数が豊富● Oracleのデータ型、関数のほとんどを移行可能
● 実績あるストアドプロシジャ● 信頼性が高く、商用DBと互換性が高い
● 信頼性が高い● 実績があり強固なデータベースエンジン
● シンプルかつ使いやすいライセンス● 商用も含めてどんな用途でも自由に利用可能
Copyright(c)2010 SRA OSS, Inc. Japan 14
DBクラスタソフトのニーズ
DBクライアント
PostgreSQLPostgreSQL
コネクションオーバヘッドが気になる
サーバ故障したらDBも止ってしまう
万が一のために待機用DBを作りたいが
どうやって同期する?
待機系DBのリソースを活用したい
1台のDBサーバでは捌ききれない
Copyright(c)2010 SRA OSS, Inc. Japan 15
クラスタ構成で注目されるOSS DBの利用
● コスト節約効果が顕著● 製品グレードによってクラスタ機能が使えないな
どの心配がない● 必要な分だけ有償保守を利用可能● ライセンス管理の煩わしさから解放● ビジネスの成長に合わせて手軽にクラスタ規模を拡大可能
Copyright(c)2010 SRA OSS, Inc. Japan 16
大規模クラスタシステム事例● オープンドア様事例● 国内最大級規模の携帯電話向けSNS/ゲームサイト
● 月間4億PV,トランザクションの2割が更新系
● pgpool-II + Slony-Iで20台以上のPostgreSQLを管理.スケールアウトする大規模システムを構築
http://members.techtarget.itmedia.co.jp/tt/members/0802/28/news01.html
ITMedia techTarget記事より引用
Copyright(c)2010 SRA OSS, Inc. Japan 17
PostgreSQL 9.0の最新組み込みレプリケーション技術
● 二つの技術の併せ技● Streaming Replication(SR)
● すべての問い合わせを受け付ける一つのprimaryサーバと、そこからレプリケーションされる複数のstandbyサーバから構成
● トランザクションログの転送によるレプリケーション技術● OracleのData Guardに類似
● Hot Standby(HS)● 従来利用ができなかったstandby側のDBサーバを検索用に活
用できる技術
Copyright(c)2010 SRA OSS, Inc. Japan 18
プライマリサーバ
トランザクションログ
ログ送信プロセス
ストリーミングレプリケーションの仕組み
スタンバイサーバ
トランザクションログ
ログ受信プロセス
コミット ロールフォワード
Copyright(c)2010 SRA OSS, Inc. Japan 19
SR+HSの特徴
● 特長● 信頼性が高い
● ほぼリアルタイム(200ミリ秒)でレプリケーション● 待機系のリソースを有効に活用できる
● 検索サーバとして活用できる● プライマリサーバの負荷が少ない● SQLの制約が少なく、設定が簡単
● ラージオブジェクト(BLOB)のレプリケーションが可能● DB、テーブル作成もレプリケーション可能
Copyright(c)2010 SRA OSS, Inc. Japan 20
SR+HSの補完
● 提供されていない機能がある● 自動フェイルオーバ機能● 負荷分散機能● クエリの自動振り分け
● そこでPostgreSQL用のミドルウェアpgpool-IIで補完
Copyright(c)2010 SRA OSS, Inc. Japan 21
pgpool-IIとは
● PostgreSQL用の多機能クラスタミドルウェア● PostgreSQL同様、オープンソースライセンス
(BSD)で配布● 多彩な機能を持つ
● レプリケーション● 負荷分散● フェイルオーバ● 並列問い合わせ処理(パラレルクエリ)● 他レプリケーションソフトとの連携
Copyright(c)2010 SRA OSS, Inc. Japan 22
Streaming Replication+Hot Standbyとpgpool-IIの組み合わせ
DBクライアント pgpool-II
PostgreSQL
PostgreSQL
問合わせ
更新/検索問合わせ
検索問合わせ
トランザクションログの転送
pgpool-IIpgpool-IIでクエリ切り分け、死活監視でクエリ切り分け、死活監視負荷分散を実施負荷分散を実施
Copyright(c)2010 SRA OSS, Inc. Japan 23
デモ環境
DBクライアント Pgpool-II 3.0ポート = 9999
Primary PostgreSQL9.0ポート = 5432
Standby PostgreSQL9.0ポート = 5433
トランザクションログの転送
Vine Linux 5.1CR(kernel 2.6.27)Vine Linux 5.1CR(kernel 2.6.27)
Copyright(c)2010 SRA OSS, Inc. Japan 24
まとめ
● オープンソースデータベースPostgreSQLとは● 利用状況● 開発状況● ライセンスモデル● DBクラスタ● PostgreSQL/pgpool-II最新版によるデモ
Copyright(c)2010 SRA OSS, Inc. Japan 25
参考URL
● PostgreSQL● http://www.postgresql.org
● PostgreSQL日本語マニュアル● Pgpool-II
● http://pgfoundry.org/projects/pgpool/
Copyright(c)2010 SRA OSS, Inc. Japan 26
ご清聴ありがとうございました