オルタナティブ・ブログ > 鈴木いっぺい の 北米IT事情: 雲の向こうに何が見えるか? >

アメリカのIT業界を渡り歩いたビジネスコンサルタントがユニークな切り口で新時代のIT市場を分析

MongoDB導入モデルについての所見(SIベンダへの提案)

»

MongoDBの日本での普及に尽力している毎日ですが,単なるオープンソースとしてのデータベース技術、という単純なイメージから、もう少し広い視野でこの技術を評価する上で、その理解を深めるための素材としてご活用頂ければ幸いです。特に、MongoDBをビジネス素材としてご検討されている日本のシステムインテグレータ様に是非、ご参考にして頂ければ、と願ってます。 

日本国内に於いては、MongoDBを導入されているお客様は、実は蓋を開けると、意外に多いのが状況です(MongoDB.orgからのダウンロード数からもはっきりしています)。オープンソフトとしてのMongoDBから、だんだんとエンタプライズでの採用、ミッションクリティカルな業務での実装、ソーシャル/クラウド/アナリティクス/モバイル系のアプリでの本格利用、等、ビジネスの強力なツールとしてのMongoDBへと変化を遂げているのは、北米,欧州、アジア圏共通のグローバルなIT業界でのトレンドです。日本でもその動きは急激に立ち上がる、と信じていますが、北米を中心としたMongoDBの動向に照らし合わせて、日本でどのような現状、そして将来予測が出来るのか、について、少し解説を致します。


MongoDBの導入モデル
いくつかのパターンに分類される事ははっきりしています。主要なものとして次のモデルがあげられます。

  • 大量のデータ管理ニーズに対して、MongoDBをアプリのコアDBとして導入するケース(やはりWebアプリが多いです)
  • メインのDBはRDBで運用しながら、メタデータ収集(ファイルの属性情報管理、履歴情報管理、顧客プロファイル情報管理、アクセス管理、位置情報管理、等)をMongoDBで実施
  • 複数のレガシーアプリが個々に管理するデータを収集(Aggregate)し、リアルタイムで検索/管理できるウェブアプリケーションを開発しその統合データベースとしてMongoDBを採用
  • マシン運用、デバイス管理、等M2M系のアプリで、デバイスのログ情報をMongoDBで収集、複数の分析アプリに提供
  • e-Commerceアプリの商品カタログのデータベースとしてスキーマに柔軟なMongoDBを全面的に採用




MongoDBが導入されている業種・アプリモデルについて
日本では特定の業種で伸びているわけでは無く、広い範囲でMongoDBが導入されている状況です。
一方、北米/欧州では、従来からのWeb2.0/SNS/e-Commerce/ストリーミング系の顧客層に加え、特に金融業界、製造業界、医療業界での伸びが顕著です。エンタプライズ企業での導入が急激に増えている状況ですが,必ずしも基幹業務に懐深く入るわけでは無く、周辺の業務(企業内外のウェブアプリ、顧客サポートヘルプデスク、企業内データ運用プラットホーム、顧客向けサービスアプリケーション、等)に広くMongoDBが普及しています。これらのアプリケーションの特長は次の通りです。

  • 今まではRDBで開発して来たけど、決してRDBのACID的な機能(トランザクション処理等)を必須としているわけでは無い
  • むしろ迅速にアプリを開発して、早く運用を開始する事に重きを置いているため、スキーマ設計、テーブル設計等に過度の時間をかける必然性を感じない
  • 管理対象となるデータが大量に存在、もしくは増加する傾向にあり、その大量のデータを効率よく管理する事が重要課題
  • クラウド/モバイル/アナリティクス等の新しいITプラットホームで実装する必要があり、それに親和性の高いDB技術が必要
  • オラクル、MySQLで時間と費用をかけて開発したのではプロジェクトとして採算性が合わない




MongoDBを選択する理由
それぞれ共通しているMongoDBを選択している要因は次の通りで,これは割とはっきりしています。

  • プロトタイプの開発期間が絶対的に短い(スキーマ設計、テーブル設計等、従来のRDBの開発ステップが一切必要無いため)
  • プロトタイプのコストが安い(クラウド上でインスタンスを立ち上げて、コミュニティ版のMongoDBで開発開始)
  • プロトタイプからプロダクションへの移行が非常に容易(それだけ,プロトタイプの完成度が高い)
  • スケーラビリティと性能拡張性が約束されている(安いサーバインスタンスでスケールアウトでシステム容量を拡張できる)
  • データベースの専門家(DBA等)の登用が必要無い:アプリ開発者が自分でMongoDBを扱える
  • JSONデータモデルが他のコンポーネントとの連携を容易にする(アナリティクスとの連携、デバイスのログAPIとの連携、等)
  • グローバルでのNoSQL市場シェアがダントツの首位である事に対する安心感




MongoDBを導入するSIビジネスについて
SI費用に対する考え方ですが,これは案件によりまちまちです。

MongoDBの技術自体がお客様の中であまり理解されていないケースが多いため、上流のコンサルは割と丁寧に行なう必要性があります。ただし、理屈で攻めるよりかは、実際に実証試験や、パイロットの開発を行なうことによりMongoDBの価値をしっかり把握して頂くパターンが多いです。従って、従来の上流の業務設計を行なう過程において、コンサルを中心としたSIサービスは、今やアジャイルなプロトタイプ開発も含めたハンズオン的なコンサルに変わって来ています。お客様から実データを数GB程お借りして、一週間でウェブアプリをプロトタイプ開発する、というケースはざらにあります。今までRDB技術では絶対に出来なかった事で、実際に動くアプリを見て、大抵のお客様はびっくりします。


MongoDBを導入されたお客様の次のステップ
一旦、MongoDBでの成功事例が確認されますと、お客様は社内で他に適用出来るアプリを探し始めます。トランザクション性があまり無いが、RDBで作ってしまっているアプリ、これから開発しようとしているモバイルウェブアプリ、レガシーデータベースと連携を必要とするウェブアプリ、等、候補はいっぱい上がって来ます。上記の導入モデルを企業内で他のアプリに浸透させていくのは比較的容易です。こういったアプリの性格上、常に増え続けていくデータを管理するケースも多く、MongoDBのサブスクリプション数も、一旦導入されれば、増加し続けます。


データベース業界が直面している課題
少しデータベース業界自体についても少し言及したいと思ってます。
昨今のIT業界は、導入コスト面で大きな変遷を遂げています。

  • クラウドの導入により、従来のハードウェア導入コストが大幅に削減され、ピーク時の設計では無く、必要な分だけのCPU/メモリをクラウドから購入する、というモデルはもはや当たり前になってます。
  • ストレージも大きな価格破壊が起きており、規模に関わらず、SAN(Storage Area Network)の導入に必要なコストが、クラウドストレージの活用で大幅に削減されています。
  • アプリケーションもSaaSの本格的な普及で、高額なコンサル、導入、運用コストが非常に定額な月例価格で導入が可能になってます。

新IT時代への移行が今だに行なわれていないは、データベースのレイヤーだけです。今だに(特に日本企業は)オンプレミスで、高額な専用サーバを購入し、高額なデータベースシステムを導入し、さらに高額なDBAコンサル、データベース設計を経て、RDBという、1970年から殆ど変わっていない技術を導入しているのが現状です。

他のレイヤーが大きく変遷と成長を遂げているのに関わらず、データベース業界だけがいつまでも変わらずに、同じ技術、同じ価格モデルを継続する、という事があり得ないし、あってはいけないはずです。それを変えようとしているのが、MongoDBの立ち位置です。ただし、完全に置き換えるという事では無く、現在一つしか無い、RDBという選択に対して、現代のデータ(いわゆる非構造型のデータモデル)により親和性の高いデータベース技術を、選択の一つとして提案する、という事です。ちなみに、色々と調査報告が出回ってますが,既に、非構造型のデータは、構造型のデータと比較して、絶対的な量を占めています。モバイルデバイスが生成するデータ、M2M/IoT等で利用されるマシンデータ、広く普及しているSNS等で管理されるデータ、等はほぼ100%が非構造型データで、従来のRDB技術では想定していないデータ構造をもってます。

ここにMongoDBがぴったりはまるわけです。

Comment(2)