SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2015】セッションレポート(AD)

【デブサミ2015】19-B-L レポート
今注目のドキュメント・データベースの活用法とメリットをCloudantで試してみる

  • このエントリーをはてなブックマークに追加

 近年、ビッグデータの活用が話題となっている。これまでデータベースというとリレーショナル・データベースが一般的だった。しかしこれから企業が蓄積するデータは、構造化されたデータだけではない。非構造化データ、ビデオやオーディオなどのマルチメディアデータ、マシンログ、センサーデータ、地理情報、ソーシャルメディアのデータなど多様化しており、しかも急速にデータ量が拡大している。またアプリの開発では迅速さが求められている。このような状況が進むにつれ、注目を集めているのがドキュメント指向型データベース(ドキュメント・データベース)だ。IBMが提供するドキュメント・データベース「Cloudant」の紹介、および活用のポイントを日本アイ・ビー・エム アナリティクス事業部 インフォメーション・アーキテクトの野間愛一郎氏が紹介した。

  • このエントリーをはてなブックマークに追加

日本アイ・ビー・エム アナリティクス事業部 インフォメーション・アーキテクト 野間愛一郎氏
日本アイ・ビー・エム アナリティクス事業部 インフォメーション・アーキテクト 野間愛一郎氏

ドキュメント・データベース「Cloudant」とは

 「Cloudantという名称を聞いたことのある方」

 冒頭で野間氏は参加者にこう尋ね、セッションは始まった。Cloudantはひと言で言うとドキュメント・データベースのDBaaSである(実はCloudantにはオンプレミス版も用意されているが、本セッションではDBaaS版についてのみ紹介)。元々は米マサチューセッツ工科大学(MIT)で物理学の博士号を取った人物が、大量の素粒子のデータを容易にかつパフォーマンスよく分析できるよう、「Apache CouchDB」に足りない機能を追加して開発されたものだという。したがって「Apache CouchDB」との互換性は「限りなく100%に近い」と野間氏は説明する。

 「IBMというとホストのイメージがあるかと思うが、今年度からクラウドやソーシャル、モバイル、ビッグデータに注力している。Cloudantはクラウドとモバイル、ビッグデータという3つの領域をカバーできるため、IBMとしても非常にフォーカスしているソリューション」だと野間氏は語る。「日本ではまだ知名度はないが」と野間氏は前置きしながらも、RunKeeper(ランニングやウォーキングなどのデータを記録し、GPSで追跡できるサービス)、Hothead Games(ゲーム・デベロッパー)をはじめ、「いろいろなお客さま先で使われている」と語る。

 ではなぜいまドキュメント・データベースに注目が集まっているのか。その理由は、ドキュメント・データベースはその名の通り、Webやモバイルアプリケーションでやりとりされるデータで広く一般的に利用されているドキュメント(JSON)を表形式に変換することなく、そのまま格納できる点にある。 従来のリレーショナル・データベースの場合、プロジェクトの途中で設計変更をしたいと思っても、変更自体に時間がかかり、その分、アプリケーションの開発も遅れてしまっていた。特にデータベースアーキテクトが入っているようなプロジェクトでは、変更そのものを許さないということもある。しかし柔軟で拡張可能なドキュメント・データベースなら、開発しながら必要なところだけを変更することも容易にできる。つまり「開発者が自分のデザインしたいアプリケーション通りにデータのデザインができるようになる」と野間氏は言う。特に開発スピードが速いWebやモバイルアプリケーションには最適なデータベースというわけだ。

 実際、ドキュメント・データベースはどのような分野に適用されているのか。ユーザーが生成するコンテンツの収集(ソーシャル、地理情報など)や、製造装置などの機械が出すさまざまな連続データの格納・集計・分析、バックオフィス系(ログデータやユーザーのクリック・画面遷移履歴、通信記録)などで使われているという。また最近はIoTの分野にも広がっていると野間氏。「今はまだ実験段階だが、IBMでは米フォード社と共に、『つながる車』の検証実験をしている、車から送られてくるミリ秒単位のデータの蓄積にドキュメント・データベースが使われている。つまり今までのリレーショナル・データベースが苦手だった分野を中心に、ドキュメント・データベースが浸透しつつある」と野間氏は語る。

 続いて野間氏はCloudantの具体的な機能についても紹介した。冒頭でも述べたように、CloudantはApache CouchDBをベースに機能追加したNoSQLドキュメント・データベースである。シンプルなHTTP RESTful APIを採用しており、主な標準機能としてレプリケーション、クライアントとの同期、MapReduce(マップリデュース)、全文検索機能、地理情報関数などを搭載している。またマルチテナントおよび個別のクラスターを提供している。

 さらにCloudantの面白い特徴として野間氏が指摘したのは、IBM SoftLayerだけではなくRackSpace、Microsoft Azure、AWSの上でも稼働が可能なことだ。つまり「自分たちでクラウド事業者を選ぶことができる」というのである。そしてCloudantはこれらの機能をDBaaSという形で提供するのである。ドキュメント・データベースのメリットに、DBaaSのメリットが加わるというわけだ。

 通常自社でデータベースを構築する場合、システム設計はもちろん、管理タスクに加え、ハードウェア、ソフトウェアの各項目に関する不確定要素やオーバーヘッド、リスクがある。ホスティングにしてもハードウェアに関する不確定要素やオーバーヘッド、リスクが削減されるのみで、その他は残る。一方DBaaSの場合、ユーザーが担当するのはシステム設計のみとなり、その他の不確定要素やオーバーヘッド、リスクはない。

 とはいえ「DBaaSはリレーショナル・データベースを中心に普及はしつつあるものの、特にNoSQLの世界ではSLAまできっちり提供できているものはそんなにない」と野間氏は指摘する。不安に感じている人もいるだろう。しかしながらCloudantなら心配は無用だという。それは「サービス内容をきちんと保証した上で提供していく」と明言しているからだ。つまりCloudantなら、不確定要素の排除、リスクの最小化、生産性の最大化というクラウドサービスならではのメリットをすべて享受できるというのである。

ドキュメント・データベースDBaaS「Cloudant」の仕組み
ドキュメント・データベースDBaaS「Cloudant」の仕組み

次のページ
大規模トランザクションに対応する可用性とスケーラビリティ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2015】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8544 2015/03/31 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング