SHOEISHA iD

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

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

DB Press

企業が本当に使えるNoSQLはそんなに多くない―Bashoが目指す「Data Platform」とは

 NoSQLデータベースは、今や数多くの製品がある。しかし数あるNoSQLデータベースの中で、本格的に企業が採用している製品はそれほど多くない。企業が採用する条件となるのが、それなりの利用実績とサポートサービスなどの提供だろう。企業向けNoSQLデータベースとしてそれら条件をクリアしている製品である「Riak」を提供するBasho Technologies。その日本法人であるBashoジャパン 経営戦略室 室長の森英悟氏にRiakについて話を訊いた。

Bashoジャパン 経営戦略室 室長の森英悟氏
Bashoジャパン 経営戦略室 室長 森英悟氏

Q:まずは、Basho TechnologiesとNoSQLデータベースであるRiakについて教えてください。

森:Bashoは2008年に設立した会社で、社名は「松尾芭蕉」から取っています。世界に120名ほどの社員がいて、そのうち100名ぐらいがエンジニアという技術志向の会社です。日本にも2012年9月に拠点を設け活動を始めました。そんなBashoは簡単に言えばデータベースの会社です。OracleやDB2などを扱う会社とビジネスモデルは近いでしょう。データベースを使ったSIを提供するのではなく、データベースにまつわるコンサルティング・サービスを提供しています。

 Bashoが提供するデータベースは、NoSQLデータベースの1つです。一般的に、SQLデータベースは中央集中型の処理でデータの整合性を守るロックの仕組みが特長です。スケールアップで性能拡張することになり、強力なマシンで動かすことになります。その一方で、並列分散処理はあまり得意ではありません。得意でない部分を補うために出てきたのがNoSQLのデータベースです。

 世の中には今や、NoSQLのデータベースが200くらいはあるはずです。その中で企業向けに本格的に使える製品は、それほど多くはありません。利用しているユーザーがそれなりにいて、きちんとサポートサービスがある。そういった製品はDataStaxが提供するCassandra、ドキュメント型のMongoDBとCouchbase、そして我々が提供しているRiakの4つくらいです。最近ではSparkも注目されていますが、これはどちらかと言えば解析用エンジンで、Riakと組み合わせて使うようなものになります。

 RiakはCPUの負荷が小さいのが特長です。IOが足りなければノードを追加します。ストレージにSSDを使う手もあります。クラスタにはネームノードはなく、全てのノードが対等でシンメトリックな構成になります。ノード間の通信はTCP/IPなので、特別な接続は必要ありません。ただしノードが増えればノード内の通信は重たくなるので、10Gなどの高速ネットワークを選ぶ必要があります。

 OSはLinux、UNIX、Mac OSで動きます。これらが混ざっていても大丈夫です。ノードの構成は合わせる必要はありませんが、IO性能が低いところに引きずられるので一般的にはなるべくスペックは同じにして使います。

 SQLデータベースのテーブルの当たるものはバケットと呼ばれ、この中にKeyとValueの組み合わせが格納されます。バケットは好きなだけ作ることができますが、バケット同士の結合などは行えません。アプリケーションからはRESTful APIでアクセスします。スピードを重視する際にはGoogleのプロトコルバッファを使います。

Q:NoSQLデータベースのRiakの強みについて教えてください。

森:Riakは拡張性、スケーラビリティに優れていることが一番の特長です。1台でも動かせますが、基本的には二重障害にも耐えられるよう、5台のクラスタからのスタートを推奨しています。5台構成のクラスタでも、アプリケーションからは1つのデータベースに見えます。

 Riakの代表的なユーザー例としては、米国の流通小売業であるベストバイがあります。ベストバイではインターネット販売のビジネスが大きくなっており、多くの売上げがクリスマス前の時期に集中します。このときの処理のピークはかなり高いものがあり、ピークに合わせてサーバーを揃えることは難しい。なのでベストバイでは、Amazon Web Servicesを使って対応しています。

 そして、データベースにはRiakを選びました。ピーク時にはRiakの動くサーバーを増やし対処するのです。Riakが評価されているのは、たんにノードを増やせるだけでなく伸縮自在なところです。ノードを増やすのも減らすのも簡単です。

 この伸縮性は、オンラインゲームの会社など、ビジネスの予測が立てにくいところでも評価されます。ゲームのビジネスでは、当たったときに機会を逃さないことが大事です。タイムリーな拡張でチャンスに追随できるかは重要です。Riakではノードを増やしても、データをどこに配置するかなどは考える必要がありません。さらに、耐障害性にも強い。データは複数ノードに書き込まれ、5台構成であれば3つのコピーを持つことになります。なので、同時に2つのノードに障害が発生してもデータは守られます。

 この耐障害性の高さ、可用性の高さが評価され、英国の国民保険サービスの治療や投薬情報を格納するデータベースにも採用されています。これはOracle Databaseから移行した事例となっています。

Q:Riakの高い拡張性はなぜ実現できるのですか?

森:RiakはKey-Value型のデータストアです。Keyに対するValueをデータベースから取ってくることができる。このシンプルさが、高い拡張性を生みます。英国の国民保険サービスの場合は、元はOracleを使っていてだんだんとデータも増え、複雑なデータベース構造になっていました。そのため、必要なデータを取ってくるSQLの処理に時間がかかるようになっていました。

 SQLでやっていた処理を、そのままRiakに置き換えるのは大変です。そこで、ロジックを組み直しアプリケーションを作り替えています。結果的には10分かかっていたデータ取得処理が、2秒に短縮されました。ただし、このRiakのデータベースでは、データを取ってくることしかできません。Oracleのように複雑な検索とかはできないのです。

 Riakを活用するには「SQL脳」になっている頭を「NoSQL脳」に切り換える必要があります。考え方を変えアプリケーションを作り直せば、運用性が高く拡張性と可用性を備えた環境が手に入ります。

次のページ
日本にもコア部分の開発メンバーがいるのも強み

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

  • Facebook
  • Twitter
  • Pocket
  • note
DB Press連載記事一覧

もっと読む

この記事の著者

谷川 耕一(タニカワ コウイチ)

EnterpriseZine/DB Online チーフキュレーターかつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリスト...

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

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

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/7515 2015/12/15 06:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング