既存のRDB、NoSQLと何が違うのか マルチモデルデータベース「MarkLogic」の強みとその効果に迫るオバマケア「Healthcare.gov」の危機的状況を救ったデータベース

RDBには限界があるとして「NoSQL」が多数登場し、それによってRDBの特定の課題を解決できるようになった。しかし、その多くがエンタープライズ向けではなかった──。「MarkLogic」は企業が求めるエンタープライズクラスの要件を満たしつつ、RDBが苦手としているデータの多様性もカバーした「NoSQLデータベース」だという。鍵は「ユニバーサルインデックス」と呼ばれる、リッチなインデックスとデータの保有の仕方だ。特にデータ統合の用途に強みを発揮するという、MarkLogicの「強み」と「その効果」をキーパーソンに聞いた。

» 2017年09月01日 10時00分 公開
[PR/@IT]
PR

 ビッグデータ、IoT(Internet of Things:モノのインターネット)、AI(Artificial Intelligence:人工知能)、それらは全て「データ」の集まりだ。今、企業における「データ活用」の価値が大きく変革している。

 データベースに対する、データ(情報)の保存と処理という役割は変わらない。しかし、これまでとは違う「新しい要件」が求められるようにもなっている。日々膨大に生成されるデータを適切に扱い、そこで得られた知見をさらにビジネスの躍進のために役立てる「データドリブン」や、テクノロジーの力で新たなサービスの価値を生み出していくビジネスプロセスである「デジタルトランスフォーメーション」といった考え方が国内企業にも浸透しつつある。具体的には、取り込むデータの「質」と「量」がともに大きく変容していることになる。

 では今後、企業がビジネスをさらに躍進させたいとき、あるいは新しいビジネスを始めたいときに「ふさわしいデータベース」は、何なのだろうか。

「企業向け」に狙いを定めたNoSQLデータベース

photo マークロジック 日本法人代表の三浦デニース氏

 これまでの企業システムで標準的に用いられてきたデータベースは、言うまでもなくリレーショナルデータベース(以下、RDB)だ。RDBは、レコード(行)とフィールド(列)で構成するテーブル(表)の集合を互いに関連付けた(リレーショナルな)データ構造を持ち、構造化されたその表へデータを格納していく。しかし、あらゆる人から多様なデータが生成されるSNSなどで流れる情報や、人以外のIoTデバイスなどから生成されるセンサーデータなど、定義されていない多様なデータを扱うには、RDBではミスマッチになる課題が浮かんできている。

 RDBが抱える制限の1つは、この「多様なデータモデルへの対応力」だ。RDBではデータのスキーマやモデルがあまり変わらないこと、つまり定義されたデータの取り扱いを前提としている。多種多様なデータに対応するには限界がある。

 また、その性能を強化していきたいときにも課題が出てくる。RDBではサーバリソースを増強して対応する「スケールアップ」のアプローチを取ることが多い。しかし、グローバル規模に、かつ迅速に横展開していくことが求められる昨今のシステムでは、分散して性能を高める「スケールアウト」が求められるようになっている。

 この課題の解決策の1つが「NoSQL」となる。NoSQLはRDBの課題を克服するために新しく生まれたデータベースの総称で、幾つかのタイプがある。「キーバリューストア(KVS)」型は、データをキーとバリューというシンプルな構造にして、RDBの固定スキーマから解放されるようにしたタイプだ。「ドキュメント指向」型は、階層的なデータを扱えるようにして、データに親子関係を持つXML(Extensible Markup Language)やJSON(JavaScript Object Notation)に対応できるようにしている。「列指向(カラムストア)」型では、行ではなく列でデータを保有することで集計処理を高速化できるようになっている。

 これらNoSQLの多くが、RDBが抱えていた特定の課題を解決することを目的とし、オープンソース文化に育まれて誕生している。それらと比べ、少し異質と思える経緯で誕生したNoSQLデータベースがある。「MarkLogic」だ。マークロジック 日本法人代表の三浦デニース氏はこう話す。

 「MarkLogicは、『ビッグデータ』や『NoSQL』という言葉が誕生していない時に創業しました。当初から現状を見据えて想定していたRDBの課題を解決し、かつミッションクリティカルな企業アプリケーションでも使えるデータベースとして開発を進めてきました。2017年現在、欧米では政府系も含めて1000社以上に導入されています」(三浦氏)

 MarkLogicは、NoSQLが持つ柔軟性を持ちながらも、RDBがこれまで担ってきたミッションクリティカルなアプリケーションに対応できる信頼性や可用性を持つ。「企業向けNoSQLデータベース」と呼んでもいいだろう。

 特長は「データの持ち方」だ。三浦氏はMarkLogicを「マルチモデルデータベース」と表現した。XMLやJSONのドキュメント型から、地理情報データなどまで、幅広いデータタイプに対応できる他、「セマンティック」機能(RDFトリプルの格納/インデックス付け/検索により現実世界のコンテキストによって検索を強化する)や全文検索も持ち合わせている(「Essential Enterprise」エディションでは、セマンティック、地理空間データ、階層型ストレージなどの機能を追加オプションとして用意している)。

 MarkLogicは、誕生当初からミッションクリティカルな企業アプリケーションで使うことを想定しているため、トランザクションではACID特性(トランザクション処理の信頼性に必要であるAtomicity=不可分性(原子性)、Consistency=一貫性、Isolation=独立性、Durability=永続性)を持ち、高可用性、自動フェイルオーバー、DR(Disaster Recovery:災害復旧)対策を可能としているのも大きなポイントだ。また高度なセキュリティ認証も取得している。三浦氏は、「米国の情報機関などが求める、セキュリティのための国際規格『Common Criteria(コモンクライテリア:ISO/IEC 15408)』で最高レベルの認証を取得しているデータベースは2017年8月現在、8つあります。その中でRDBではないのはMarkLogicだけです」と話す。

MarkLogicの鍵は「ユニバーサルインデックス」にあり

 MarkLogicは、RDBから見ればNoSQLの柔軟性を持ち、NoSQLから見ればエンタープライズレベルの要求に対応できる機能や性能を併せ持つ。そんな「いいとこ取り」を可能としているのが、MarkLogicのコア技術となる「ユニバーサルインデックス」だ。どのような形式のデータであっても「分け隔てなく」読み込み、取り出すことができる。

 例えば読み込むデータがRDBのテーブルならば、1行を1つのレコードやドキュメントとして扱い、列の項目名はタグとして扱う。元のテーブルが同じものは、コレクションとしてまとめるという具合だ。どのテーブルからデータを取り込んだのかといった流入の履歴もたどれるようにしている。

 「ここで重要となる考え方が“データリネージ”です。データリネージによって、データがどこから来たのかの系譜をたどれます。また、封筒のように元のデータはそのままにメタデータでラップする“エンベロープパターン”によって、元のデータも見られるようにしています」(三浦氏)

 つまり、どんなデータ形式であっても、オリジナルの形や流入元をたどれるようにして取り込む。だから、複数のRDBテーブルからの多様なデータ形式をそのまま格納でき、また、テーブルのまとまりやデータの親子関係が分かるように取り込める。RDBのように事前にスキーマを定義する必要がなく、対象とするデータベースで扱えるようにデータを変換したり加工したりするETL(Extract/Transform/Load)処理も必要ない。

 そして、データを取り出すときには、元データに合わせたクエリを使える。MarkLogicはアプリケーションサーバ機能も実装しているため、直接クエリを投げることができる。また、XMLにはXQuery、JSONにはJava Script APIなど、多様な方法でデータの問い合わせができる。これまでデータベースエンジニアが培ったスキルも生かせるということだ。

MarkLogicとRDBは、競合でありつつも「共存」する

 MarkLogicはRDBではない。しかし、実際に選定要件に上がるライバルは伝統的な商用RDBが多い傾向だという。

 ただし三浦氏は、「MarkLogicは戦略として、RDBの置き換えを狙ってはいません」と念を押す。

 MarkLogicの強みは、「ミッションクリティカルやセキュリティなどの高度な要件があるときに、多種多様なデータを扱える」ところだ。これまでならば性能やセキュリティの観点でRDBが求められるシステムに、データの多様性などRDBでは苦手とされるところを得意としている。だから企業は、まず伝統的な商用RDBを軸にして選定を検討するのだろう。

 逆に、他のNoSQLが競合になることは「まずない」という。これも、MarkLogicがミッションクリティカル環境を想定した作りだからだ。一般的にミッションクリティカルなシステムにNoSQLのみが選択肢として挙がることはほとんどない。

 実際の選定の競合がRDBだとしても、三浦氏は「RDBとはしばらく共存が続くと思います」と述べる。

 2017年現在のデータベースシステムの状況は、「RDBが登場した30年前と重なる」からだ。当時、RDBはメインフレームの置き換えではなく、メインフレームでは苦手な分野に適した次世代のデータベースとして提案されていた経緯がある。これと同様にMarkLogic(および、NoSQLデータベース)はRDBの置き換えというよりは、時代が求めるニーズに沿い、RDBが苦手とする分野をカバーするのに適した次世代のデータベースとして提案されている。

 「RDBが依然として大得意な分野は、やはりOLTP(Online Transaction Processing:オンライントランザクション処理)です。だから、RDBとMarkLogicは、目的に応じて使い分けられて、共存していくということになります。メインフレームでなければならないシーンではメインフレームが明確に必要とされているように、RDBも残るでしょう。ともあれ、今がまさにデータベースシステムの世代交代時期であることも分かると思います」(三浦氏)

複数のテーブルやデータソースからデータを統合するケースで強みを発揮

 MarkLogicがマッチする分野は具体的に何か。三浦氏は「MarkLogicは特定の業界に特化するものではありません。金融、ヘルスケア、製造、官公庁などさまざまな業界で使われています」と述べる。そのポイントは「データ統合」にあるといえる。

 どの企業もサイロ化した複数のシステムを抱えている。RDBの考え方としてアプリケーションごとにデータベースを構築していた背景から、多数のサイロができてしまった。そのままでは他で扱いにくいが、蓄積してきたデータは企業の財産であり、大きな価値である。これを何とか活用したい。このように、新たなビジネスを見据えて「複数のデータベースやデータソースからデータを収集してまとめ、それを活用したい」ときにMarkLogicは強さを発揮する。

 典型的なのが、米国のオバマケア(米国医療保障制度改革の通称)の象徴となる「HealthCare.gov」サイトの事例だ。

photo (参考)「HealthCare.gov」サイト

 米国民に健康保険を案内するためのポータルサイトであるHealthCare.govは、8つの省庁が持つ個人情報から、保険会社が持つ保険製品情報までを収集して蓄積し、米国民それぞれに適した健康保険を提示するサービスを行っている。この、想像しただけでも大変そうな、複雑かつ膨大な量のデータ集約をMarkLogicが担っている。

 「旧来のRDBでの構築で進んだHealthCare.govプロジェクトは、開始当初に技術的にもサービス的にも望まれる要件を満たせないことが発覚し、危機的状況にありました。プロジェクト開始から2年後、実稼働まで残り1年に迫った時点で、プロジェクトのトップはMarkLogicを採用する大胆な決断を下し、今に至っています。MarkLogicによって、多種多様なデータを集約し、多数のアクセスが生じたとしてもストレスなく使えるような性能を保っています。当然、医療情報が含まれる極めて重要な個人情報を扱うというセキュリティ性も確保できています」(三浦氏)

 他にも、ドイツの金融機関であるドイツ銀行グループが「多数のRDBテーブルにあるデータをまとめて」複雑な金融レポートの作成に役立てている。また、多くの機密情報がある製造業の例として、日産自動車が全世界の部品データを統合した次世代自動車部品管理の基盤にすべく、MarkLogicでPoC(Proof of Concept:導入前実機検証)を進めている。なお、日本展開においてはもう1つ、2017年6月にNTTデータと次世代データベースビジネスの拡大に向けた資本業務提携を行うと発表している。

 最後に、「AIへの親和性の高さ」も忘れてはならない。AIでは、より多くのデータを収集して学習させるほどに良い結果が期待できる。それには、大量のデータを読み込ませるだけではなく、データ間の関係性や質も重視される。「AIも、ユニバーサルインデックス、マルチモデル、エンタープライズグレードの要素を兼ねたMarkLogicの強みを大いに発揮できる分野でしょう」(三浦氏)

 日本はこの先、少子高齢化が進み、労働者人口は減る一方とされる。だから労働者の生産性向上は喫緊の課題だと叫ばれている。そこに、あらゆるデータの統合と管理を集約できるMarkLogicが大きく寄与できると三浦氏は自信を見せる。これまで悩んできた課題をスッと解消できてしまうことから、はじめは「本当にそんなことができるのか」と疑ってかかる技術者は少なくはない。しかし、今回示したMarkLogicの革新的なアイデアと技術の効果を見て、理解すると、180度考えが変わり「晴れ晴れとした表情」になるという。その「次世代データベース技術」は自社に何をもたらしてくれるのか。すぐにでもあなた自身の目でも確認し、効果を体感すべきだろう。

photo

MarkLogic 9は、無償の「Developer」エディションを用意 主要クラウドプラットフォームにも対応

photo MarkLogic 9は、開発者向けに無償の「Developer」エディションを用意している

 MarkLogic 9は8コア単位のライセンス体系で、無償の「Developer」エディション(開発者向け、最大1TBまでのデータ統合が可能)と、企業要件を満たすサブスクリプション課金型の「Essential Enterprise」エディションが用意される。クラウドプラットフォーム(Amazon Web Service、Microsoft Azure、Google Cloud Platform)およびオンプレミス(Red Hat Enterprise Linux、CentOS 7、Windows Server、macOS X)へインストールできる。


Copyright © ITmedia, Inc. All Rights Reserved.


提供:マークロジック株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2017年9月30日

関連リンク

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。