Skip to main content

Fujitsu

Japan

PostgreSQLを誰でも使いこなせるようにするために富士通がしていること
PostgreSQLインサイド

PostgreSQLを誰でも使いこなせるようにするために富士通がしていること

企業システムで、PostgreSQLなどのOSS(オープンソースソフトウェア)データベースを採用する企業が増えている。しかし、コミュニティ版である"素のPostgreSQL"をビジネスで本格的に使いこなすのは簡単ではない。ソースコードに踏み込んでいける技術リソースやノウハウの確保が導入のポイントとなるが、そういった技術リソースがなくてもPostgreSQLを使いこなすためには、いったいどうすれば良いのだろうか。企業システムへのデータベース導入を数多く手掛ける富士通株式会社の佐野哲也 氏に話を聞いた。

谷川 耕一[著] / DB Online編集部[編]
[2016年7月29日掲載]

PostgreSQLを活用し、新たなイノベーションを起こす

基幹系システムの大きな役割には、業務プロセスの効率化がある。ここで使われるデータベースには、情報の1つ1つを堅実に扱えることが求められる。その一方で強く求められているのは、IoT(Internet of Things)など新たなデジタル化で生まれる莫大なビッグデータを活用し、新たなビジネス価値を生み出すことだ。

富士通株式会社 ミドルウェア事業本部 データマネージメント・ミドルウェア事業部 プロダクト技術部 アシスタントマネージャー 佐野哲也の近影
佐野 哲也
富士通株式会社
ミドルウェア事業本部 データマネージメント・ミドルウェア事業部 プロダクト技術部
アシスタントマネージャー

富士通株式会社 ミドルウェア事業本部 データマネージメント・ミドルウェア事業部 プロダクト技術部 アシスタントマネージャーの佐野哲也 氏は、「富士通は、長年、自社のデータベースで堅実な情報処理を行ってきました。金融機関などのかなり厳しい要求にも、十分に対応できる技術をもっています」と語る。

また、新たなビジネス価値を生み出す情報利活用では、あらかじめ仕様が確定できなかったり、デジタル化を進める過程でデータの扱いも変化したりすることがある。これらに対処するデータベースでは、徹底した堅実さよりは迅速な対応力が求められる。「そのためにはオープンなアーキテクチャを持ち、新たな技術をどんどん取り入れるOSSのほうが適している」と佐野氏は指摘する。

業務プロセスの効率化と新たなビジネス価値を生み出す情報利活用というデータベースの役割に応えるために、富士通は自社のデータベース製品ラインナップにPostgreSQLベースの「FUJITSU Software Symfoware Server(PostgreSQL)」[以下、Symfoware Server(PostgreSQL)]を加えた。「お客様と共に新しいイノベーションを起こす。そのために、富士通がOSSと共に発展していく、という結論に至った結果でもあります」と佐野氏は述べる。

これは富士通が、単にPostgreSQLという製品ラインナップを増やしただけではない。富士通が扱うことで、信頼性や手厚いサポート体制など、OSSに足りない部分を補う。つまり、富士通が長年培ってきた、企業がビジネスで使うデータベースに必要となるポイントを、PostgreSQLに補完したとも言える。これにより、企業内のさまざまなシーンでPostgreSQLを安心して使えるようになるのだ。

企業がPostgreSQLを利用するために必要なこと

ほんの数年前まで、PostgreSQLをビジネス現場で利用する企業はごく一部に限られていた。ところが今では、多くの企業からPostgreSQLを活用したいという声を聞くと佐野氏は述べる。しかし、PostgreSQLを活用して迅速にビジネスを立ち上げようとしても、いざOSSのPostgreSQLを使おうとすると、サポートや信頼性、可用性などの面で不安が出る。そのため、検証用に立ち上げる環境ならばともかく本番環境のデータベースとしてはOSSになかなか踏み出せないのが現状だ。

「富士通は、お客様のやりたいことをスピーディーに実現するデータベースとして、『Symfoware Server』のエンジンにPostgreSQLを採用しました」と佐野氏は述べる。自社製品に取り込むことで、富士通として徹底した技術支援を行い、技術者教育、育成などを含むサポートにより、PostgreSQLを利用する顧客の不安を解消する。

図1:富士通のDB「Symfoware Server」とは
図1:富士通のDB「Symfoware Server」とは
出所:富士通株式会社

前述の通り、富士通では企業がPostgreSQLをビジネスで使うのに必要な性能や信頼性を、独自拡張により確保している。その1つが更新ログである「WAL(Write Ahead Logging)の二重化」だ。

「ビジネスで利用するとなると、データの信頼性は極めて重要です。そのため富士通は、独自にWALを完全に二重化しています。WALが2つあれば、それらが同時に壊れることはまずないでしょう。これにバックアップを併せることで、何らかの障害が発生したとしてもデータベースを完全に復旧できます」(佐野氏)

図2:WALの二重化
図2:WALの二重化
出所:富士通株式会社

PostgreSQLでは、アーカイブされたWALはコピーできる。しかしこれだけでは、データベースの故障時にアーカイブ前のWALが失われるため、データを最新状態に復旧することができない。そこで富士通は、最新のWALをリアルタイムに別々のディスクに書き込めるようにした。「これができて始めて、エンタープライズ用途に耐えられるデータベースと言えます」(佐野氏)。

可用性向上の機能として、「データベースの二重化」も提供する。「富士通独自のデータベースの監視エージェントとコネクション管理機能により、アプリケーションからのアクセスをサブのデータベースサーバーに10秒程度で自動で切り替えることができます」(佐野氏)。このときアプリケーション側に、再接続のためのロジックなどを新たに追加する必要がないのも大きなメリットだ。

図3:データベースの二重化
図3:データベースの二重化
出所:富士通株式会社

「PostgreSQLはOSSと組合せてHA構成にできます。しかし、HA構成はトラブル時の操作が複雑です。そこで、富士通はPostgreSQLのストリーミング・レプリケーション機能を活用し、データベースを二重化することで、トラブル時の操作をシンプルにしています」(佐野氏)

実は、HA構成を使いこなすのは難しい。苦労してHA構成をとっても、障害箇所により復旧手順が異なるため、慣れていなければ正しく復旧できない。場合によっては、業務をすぐに再開できないこともある。これに対して富士通が提供するデータベースの二重化機能であれば「データベースを完全にコピーするので、障害の発生箇所に関わらず、切り離すだけで業務を継続できます。また、復旧操作もコマンドひとつでできるようにしています」と佐野氏は述べる。

また、セキュリティ面の強化も行っている。それが「透過的暗号化」だ。個人情報漏洩事故が後を絶たず、さらには改正個人情報保護法の施行、マイナンバー制度も始まり、最近は企業規模の大小に関わらずデータベースに格納するデータの暗号化ニーズは高い。PostgreSQLにも暗号化機能はあるが、一時表が暗号化されないなど課題もある。

富士通は、アプリケーションの修正を必要としない透過的なデータベースのデータ暗号化機能を提供している。これはテーブルデータだけでなくバックアップデータにも適用できる。暗号化と復号はAES-NI(Advanced Encryption Standard New Instructions)に対応しており、CPU処理のオーバーヘッドは2%未満に抑えられている。

図4:透過的暗号化
図4:透過的暗号化
出所:富士通株式会社

他にも、インメモリ・カラムナと並列多重処理などで性能向上も図っている。インメモリ・カラムナは、Oracleなど他の商用データベースが採用する機能と同等だ。これを活用すればテーブルデータのパーティション化などを行わなくても、高速な処理が可能となる。

情報系のSQL処理で参照されるようなデータは、自動的にメモリ上のカラムストアから読むことができ「かなり高速に処理できるので、OLTPへの影響は極めて小さくなります。そのため、1つのデータベースでOLTPとレポーティングやデータ分析の処理を同居させることも可能です」と佐野氏は述べる。

現状、データを集約して多角的な分析を行うデータウェアハウスに加え、ビジネスプロセスの中でタイムリーに集計やレポーティングを行う要求が高まっている。その際に、インメモリでOLTPに影響を与えることなくリアルタイムにデータ分析ができるところは、かなり有効な機能となる。このインメモリ・カラムナ機能は、2016年度に提供を開始する新機能だ。

ノウハウのある富士通がワンストップでサポートする

信頼性、可用性や高速性の確保に加え、企業がデータベースを利用する上で重要視するのが、安定した運用の実現だ。そして安定した運用を実現する上で重要となるのが、サポート体制だ。ところでOSSのPostgreSQLは、開発コミュニティによるサポート期間がメジャーバージョンアップから5年間となっている。企業システムには、5年以上同じバージョンのデータベースを使い続けるものも多々ある。そうなると、5年のサポート期間だけでは足りない。

5年経過してしまうと、何か問題が発生してもバージョンアップでしか解決できないが、稼働しているシステムのバージョンアップは難しい。そこで、5年経過した古いバージョンについても、富士通のエンジニアがソースコードに手を入れ必要な修正を行う。これが富士通の長期サポートのサービスだ。「安定した長期サポートなしには、ビジネス現場では使えません」と佐野氏も強調する。

EnterpriseZine/DBOnline チーフキュレーター 谷川耕一氏の近影
【インタビュアー】谷川耕一
EnterpriseZine/DBOnline
チーフキュレーター

また、OSSを利用していて障害が発生した際には、基本的に原因の切り分けはユーザー自身が行わなければならない。これには多くの手間と時間が掛かり、当然ながら高い技術スキルも必要だ。原因の切り分けを行いPostgreSQLに問題があれば、それをコミュニティに報告し修正をしてもらう。その修正がすぐに行われるかは、コミュニティの判断となる。待っていられなければ、自分でソースコードを修正するしかないだろう。

これに対して富士通ならば、データベースを動かすサーバーやストレージなどのハードウェア、さらにはOSや仮想化などのインフラのソフトウェアも含めワンストップでサポートできる。面倒な原因の切り分け作業をユーザーが行う必要はないのだ。その上で、ノウハウを持つ富士通の技術者が、ソースコードレベルで修正できるメリットは、安定した運用を長く続けるために大きく影響する。

加えて富士通では、OSSコミュニティの活動にも積極的に関わっている。独自に作成した修正パッチをコミュニティに提供するのはもちろん、新機能やバグ修正のレビューなどにも深く関わっている。PostgreSQLをエンタープライズで活用できるようにするためのベンダーを越えた活動「PGECons」においても、技術ワーキンググループ活動などを積極的に行っており、コミュニティの活動にも大きく貢献しているのだ。

PostgreSQLを使いこなすために選ぶべきパートナーの条件とは

企業がOSSを活用する際に、コミュニティに自ら参加し自分たちの力だけで使いこなすのは簡単ではない。特に日本では、ソースコードレベルにまで踏み込むことができるようなOSSのエンジニアを抱えられるのは、ほんの一部の企業しかないだろう。

結果的にPostgreSQLを企業で活用しようとすれば、ベンダーやディストリビュータが提供するPostgreSQLベースの製品を活用し、彼らが提供するサポートサービスを受けるのが賢明だろう。このときにどの製品、どんなサポートを求めればいいかは、自分たちがこれから運用しようとしているシステムがどのような性格のもので、今後どのようにオープンソースを活用するのか、その方針も含めて判断することになる。

ライセンス費用削減のためにOSSを活用する考えもあるだろう。しかし、安易にOSSを採用すると、結局は運用などに手間とコストがかさみ、なかなか使いこなせない事態に陥る恐れがある。OSSを活用したければ、OSSの良さを最大限に引き出してくれるパートナーを見つけることが得策だ。

その際、富士通のようにソースコードレベルにまで踏み込んでいて、そのOSSの利用で実績があること、さらには企業システムで必要となるミッションクリティカルなシステム要件にも精通していること。この両方を兼ね備えていることが、企業がOSSを使いこなす上で重要なポイントとなるだろう。

商用かOSSかを適材適所で選び、その上でデータベースに何を求め、サポートしてくれるベンダーに何を期待するのか。商用データベース以上に、OSSのデータベースを選ぶ際には、製品やその周辺のサービスを見極める力がユーザーには求められている。

谷川耕一氏と佐野哲也

著者プロフィール

谷川 耕一(タニカワ コウイチ)

EnterpriseZine/DB Online チーフキュレーター
ブレインハーツ取締役。AI、エキスパートシステムが流行っていたころに開発エンジニアに、その後雑誌の編集者を経て、外資系ソフトウェアベンダの製品マーケティング、広告、広報などを経験。現在は、オープンシステム開発を主なターゲットにしたソフトハウスの経営とライターの二足の草鞋を履いている。

DB Online編集部

翔泳社 EnterpriseZine(EZ)が提供するデータベース / データテクノロジー専門メディア「DB Online」編集部です

富士通のPostgreSQLに関する情報がここに「PostgreSQL インサイド」

ご紹介した商品

本特集は、株式会社翔泳社の許可を得て「EnterpriseZine」に掲載(掲載期間:2016年6月13日~2016年7月13日)された内容より転載したものです。
記事作成時点の情報のため、その後予告なしに変更されることがあります。あらかじめご了承ください。

本コンテンツに関するお問い合わせ

Webでのお問い合わせ

入力フォームはこちらから

当社はセキュリティ保護の観点からSSL技術を使用しております。

お電話でのお問い合わせ

富士通コンタクトライン(総合窓口)0120-933-200

受付時間 9時~12時および13時~17時30分
(土曜・日曜・祝日・当社指定の休業日を除く)