Oracle Spatial and GraphとOracle Cloudの組み合わせで世界でも最大規模の統計LODを実現
「日本の公的統計は総務省統計局を中心として、各府省がそれぞれの行政に必要な統計を作成する『分散型』と呼ばれる機構体系によって整備されています。統計センターでは各府省が実施する統計調査のための共通システムの運用管理を行っています」――こう語るのは独立行政法人 統計センター 統計情報システム部情報システム企画課 課長代理 システム戦略担当の西村正貴氏だ。
統計センターでは、総務省統計局所管の国勢調査や消費者物価指数など、国の基本となる統計の作成(製表)を行うほか、各府省や地方公共団体の委託を受け、各種統計の作成も行っている。また、各府省が実施する統計調査のための共通システムの運用管理を行っており、2008年から「政府統計の総合窓口e-Stat」をはじめとする「政府統計共同利用システム」の運用を開始している。
e-Statは当初、インテグレーションされたサーバー・ストレージ環境でOracle Databaseを使い構築された。その後データが徐々に増え、検索などのパフォーマンスが低下する問題が発生する。「何らかの検索を行うと、1分間ほど結果が表示されないこともありました」と西村氏。そこで2013年には、プラットフォームをOracle Exadataに入れ替えることで大幅な性能改善が計られた。Oracle Exadataに移行したことで、処理性能は大きく改善することになる。
さらに2018年には、Oracle Exadataを更新し、Oracle Exalogicも加え処理性能だけでなくアプリケーションサービスの可用性も向上させた。またOracle Databaseのマルチテナント機能やOracle Zero Data Loss Recovery Applianceも採用し、複数システムの運用管理業務の大幅な効率化も行っている。また、Oracle Advanced Securityも活用しており、アプリケーション性能に影響を与えずにデータの暗号化を行い安全性の向上も図ったのだ。
このe-Statの運用と並行して、オープンデータの取り組みを推進しており、2014年にAPIによる統計データの取得を可能とし、2016年には、オープンデータの最高位の公開レベルであるLOD(Linked Open Data)での統計データの提供を開始した。LODによるデータ提供は2014年から試行的な取り組みを始め、オープンソースによるLODの提供環境を試験的に構築した。2016年には、Oracle Exadataのデータベース・リソースを使い、統計データをLODで提供するサービスが構築された。当初のデータ量は、トリプル数で3億ほどのデータが公開された。
LODはRDF(Resource Description Framework)でデータを作成する。RDFによるデータ提供は比較的新しい技術であり、順次新たな技術が開発される。今後のデータ量の増加に対応するためにも、それらを積極的に採用したかったが、オープンソースとの組み合わせでは容易ではなかった。さらにオープンソースの利用では、実現している機能の信頼性の担保にも不安があった。
その状況でOracleから提案があったのが、RDFにも対応するグラフデータベース管理機能のOracle Spatial and Graphの活用だった。さらにこれをOracle Cloudで利用する方法が推奨されたのだ。
「データを増やしていった際にそれに合わせて性能を向上させるには、Oracle Spatial and Graphの最新バージョンを使うべきだと考えました。しかし、Oracle Exadataのオンプレミス環境では他のシステムも動いており、それを実現するのはそう簡単ではありません。これがクラウドなら、新しいバージョンをいち早く使うことも簡単にできると判断しました」(西村氏)
Oracle Cloud上でOracle Spatial and Graphを最大限に生かすコンサルタントのサポート体制
統計LODは、インターネットで外部にデータを公開するシステムだ。まずは試験的にOracle Cloudの利用を始め、Oracle Cloudの機能、性能、さらにはOracleのサポート体制も含めた総合的な評価が行われた。結果的には「クラウドに移行してみたら、最新機能の活用などにより、性能は初期バージョンとは雲泥の差でした」と西村氏。RDFにも最適化できるSpatial and Graphは、Oracle CloudのDatabase Serviceでもオンプレミスと同じように利用できる。その上でDatabase In-Memoryなどの新しい機能を組み合わせることで、結果的に高い処理性能が発揮されたのだ。
また、Oracle Cloudの柔軟な価格モデルも評価された。Oracle Cloudには、ユニバーサル・クレジットと呼ばれるクラウドサービスの使用モデルがある。ユニバーサル・クレジットは一度契約すれば新たな契約の必要なくさまざまなOracleのIaaS、PaaSをクラウド上で利用できる。「シンプルな価格モデルで、追加料金なしでさまざまな製品を利用できるのは、新しい技術をいち早く試してみたいというニーズには使いやすいものがあります」と西村氏は言う。
Oracle Cloudへの移行に合わせ、公開するデータ量を大幅に増やしている。「現在統計LODでは、13億トリプルのデータを公開しています。世界的にもLODで公開されるデータは増えてきていますが、10億トリプルを越えるデータを公開している例はあまりありません」と西村氏、Oracle Cloud上で実現されている統計LODは、世界でもトップクラスのオープンデータのサービスプラットフォームになっているのだ。
Oracle Spatial and Graphを採用したことで、RDFの提供機能の進化や信頼性の確保についてはOracleに任せられる。これは大きなメリットだという。仮にオープンソースの仕組みを使っていれば、何か問題があった際には自分たちで原因を究明し自分たちで解決しなければならない。「Oracleのコンサル部隊のサポートと合わせ、OracleにOracle Cloudの最適な基盤設計やRDFの提供部分を任すことができるので、我々は公開する統計のデータを作ることに注力できます。RDFはまだシステム的には成熟していないものでもあるので、そこをOracleに任せられるのは良いところです。今後さらにOracle Spatial and Graphの技術革新にも期待しています」(西村氏)
さらに「当初、10億トリプルを越えるデータ量は想定していませんでした。こんなに沢山入れたら、まともに動かないのではと考えていました」と西村氏は振り返る。13億トリプルのデータに対し、オンプレミスと同等かそれ以上の性能でOracle CloudのSpatial and Graphの機能は動いており、現状では一定の処理性能が出ている。Oracle Cloudはオンプレミスもクラウドもアーキテクチャが同じで、ハイブリッドの環境でも各種設定などが容易に行えることも使いやすいと評価する。ただし、性能は大幅に向上したが、APIなどオンラインで使用するためには、まだまだ性能の向上が必要だ。今後のバージョンでの性能改善がさらに期待されるところだ。
この環境を実現するためには、Oracleコンサルもサポートそしている。RDFを公開する上でどのように構造化したデータを作ればいいのか、また検索性能のチューニングやCloud基盤の運用管理といった面でのアドバイスなども処理の効率化には大きく貢献している。
「データをOracle Databaseにさえ入れれば何も心配しなくていい」という状態が理想
現時点で13億トリプルの統計データの公開は、世界的にも規模の大きなデータ量だ。しかしながらこの規模でも、e-Statに蓄積されているデータのほんの一部に過ぎない。将来的には、e-Statの全てのデータを公開することが理想だ。
「そうなれば今の100倍、1,000倍といったデータを扱うことになります。その際に求められる性能がきちんと出るのかは難しいところでしょう。それが実現される際には、もしかしたら集中型ではなく分散型のプラットフォームが必要になるかもしれません」(西村氏)
e-Stat、統計LODの仕組みの構築、運用について、Oracleのサポート体制には概ね満足していると西村氏は言う。Oracle Cloudは今後、日本リージョンのデータセンターも開設されることもあり、性能、機能面のさらなる向上については期待がかかっている。そして「今後データが増えていった際に、Oracle Databaseにデータを入れさえすれば大丈夫となり、我々にはチューニングをするようなデータベースのスペシャリストは必要ないとなってほしいですね」と西村氏は語った。