モノのインターネットになぜNoSQLが必要なのか
そこにはデータの新たな表現への需要がある
リレーショナル・データベースは実に素晴らしいものだ。しかしモノのインターネットでのプロジェクトにおいてこれは実に役立たずだ。
少なくとも、数十億のスマートデバイスで構成される次世代ネットワークの管理について調査を行ったマキナ・リサーチによればそう言える。これによれば、リレーショナル・データベースは「構造化・均一化なデータの処理を処理するためのもの」であり、NoSQLデータベースは数えきれないほどのセンサー、デバイス、ゲートウェイから生成される、はるかに規模が大きく、不均一なデータのマネジメントの為に不可欠なものだという。
言い換えれば、もしあなたが開発者なのであればNoSQLデータベースを自分の武器として持っておく必要がある。
NoSQLが必要な理由
“NoSQL”というそのありがちな呼称とは裏腹に、これは他のデータベースとは異なるものだ。NoSQLデータベースでは厳格なスキーマを強制しないので、高い柔軟性を持ったデータモデリングが可能となっている。いうまでもなく、最も優れたRDBMSよりもはるかにスケーラブルだ。
マキナのレポートが明らかにしたように、これらの観点はモノのインターネットに置いて重要なことだ。RDBMSもその一角を担うことにはなるが、モノのインターネットにおける、これまでにない部分は全てNoSQLによって担われることになる。
モノのインターネットにおいても、多くのの企業のITシステムなどから生成される構造化・均一化されたデータの処理には、昔からのRDBMSが使われる事だろう。しかしこれが莫大な数のデバイス、センサーなどから生成されたもっと不均一なデータの処理となるとどうだろう。それぞれ独自のデータ構造をもったデバイス同士が、基本的に何年もの間結合され続けることになる。データベースには新しいレベルの柔軟性、即応性、スケーラビリティが求められる。この様な環境でNoSQLの価値は明らかとなる。
過去30年の間、企業が処理するデータは予測可能なものだった。顧客のデータは管理システムの行列に格納され、企業は自分たちが製造しているウィジェット用のコンポーネントの追跡監視を行い、得られたデータを彼らのリソースプラニングシステムのデータとして販売していた。
しかしモノのインターネットにおけるデータは、事前にどのようなものが来るか分からないというその定義からして、これまでとは異なる。市場の動きは非常に早く、それに追随するためにシステムは柔軟にセンサー・デバイスの導入及び、それらから得られるデータの処理が出来ることを求められる。
指数関数的に増加し続ける様々な種類のセンサーやデバイスから生成されるデータによって、データのスケールや構造はますます様々なものになっていく。それに伴い、企業システムからクラウドにいたるまでの様々なデータも、それらと結合される必要が出てくる
しかしこれは単に不均一あるいは、ある程度構造化されたデータがNoSQLの需要を生み出すというだけの話ではない。次はDataStaxのCTO、ジョナサン・エリスのコメントだ。「例えばOracleの様なRDBMSは単一の企業や組織におけるデータの処理には優れたものですが、クラウド向けにデザインされたCassandraの様なデータベースが提供できるスケーラビリティーや可用性は実現できません」
NoSQLにおける新世代
モノのインターネットにおいてスケールは明らかに重要なことだ。例えば500億ものデバイスについて述べている様なものでもないと、この件については十分ではないだろう。
しかしながら個人的には100万くらいのデバイスでの話のほうが興味深い。デバイスの台数が増えるに連れ、NoSQLに熟達した開発者の数も増えるはずだ。VisionMobileの試算では、現在モノのインターネットに対応できる開発者の数はたったの30万だが、これは2020年には爆発的に増えるという。
標準規格の無さ、接続性の問題など、モノのインターネットの実現の障壁となっていることは様々だ。その中でも最大級のものはNoSQLに熟達した技術者が不足していることだろう。451 ResearchによるとLinkedInには数十万ものNoSQL技術者がいるとのことだが、市場が必要としている数には到底足りない。
関連記事:「モノのインターネット」が未だに開通しない理由
もちろん、モノのインターネットにおけるデータの全てがNoSQLによるものである必要はなく、SQLに馴染んだ技術者たちにも多くの需要がある。例えばNestに買収されたスマートホーム企業のRevolvは、MongoDB(NoSQL。かつて私はここに務めていた)からDynamoDB(NoSQL)に、そして最終的にPostgres(RDBMS)にDBを鞍替えした。この企業の開発者マット・ブッチャーによると、業務で扱うデータがその性質からリレーショナルなものであるからだ。
この場合、わざわざリレーショナルでないDBを使うのは馬鹿げている。
マットは自分の場合、ツールを選ぶ際はデータモデルに適合したものを選ぶ傾向がある(つまりDBを選ぶ前にデータモデリングを行う)と述べる。
四角の杭に丸い穴
つまり開発者たちがモノのインターネットに取り組む為、慣れ親しんだRDBMSを拒否し、NoSQLを選択するのには落とし穴がある。
マキナのレポートにまとめられているように、RDBMSを用いてモノのインターネットに取り組むのは一つのオプションだが、やがてあらゆるタイプのデータを扱う為には大きな障害となるであろう要因も示されている。
既にRDBMS業界は、MySQLやその他のRDBMSで利用できる新しいストレージエンジンを提供しているDeepDBの様な企業がそうであるように、モノのインターネットに備えて変わろうとしている。従来のMySQLでは新時代の到来よりはるか前にパフォーマンスの壁にぶち当たるからというのがその理由だ。
突き詰めて言えばモノのインターネットとはスケールだけの話ではない。これの本当のチャレンジには、今日及び未来に利用可能なデバイスやサービスに対応できる柔軟なデータモデリングが含まれる。これは柔軟性への要求に対する開発者の挑戦であり、そしてそのために彼らはNoSQLを受け入れるのだ。
トップ画像提供:Sony
Matt Asay
[原文]