SHOEISHA iD

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

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

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

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

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

お申し込み受付中!

DB Press

すごいアプリケーションを作りたいならCassandraを使ってみよう


 いまや、エンタープライズな領域で利用されるNoSQLデータベースにもさまざまなものがある。そんな中でも「Cassandra」は、分散データベース管理システムとして大規模データの格納で評価されているNoSQLデータベースの1つだろう。実際にビッグデータを扱うデータベースとしてどのような点が優れているのか、DataStax社に所属していてApache Cassandraのチーフ・エバンジェリストでもあるパトリック・ムクファディン氏に話を訊いた。

止めることが許されないならCassandraを

Apache Cassandraのチーフ・エバンジェリストでもあるパトリック・ムクファディン氏
Apache Cassandraでチーフ・エバンジェリストをつとめる
パトリック・ムクファディンさん

Q:Cassandraは、NoSQLのマーケットにおいてどのような位置づけにあるデータベースですか?

ムクファディン:NoSQLの中でもCassandraはオペレーショナルなデータベースになります。ユーザーの近いところにあって、Oracleのようなデータベースをリプレイスする存在でもあります。Cassandraはインターネット時代になり、スケーラビリティがありなおかつ稼働し続けるというニーズに応えるために出てきました。何1,000万、何億といった莫大な数のユーザーが利用しても稼働し続ける。そのために、マルチデータセンターでもアクティブ、アクティブの分散構成で、ダウンタイムのないデータベースとなっています。

Q:NoSQLデータベースは他にもさまざまなものがあります。それらとCassandraの大きな違いはどのようなところでしょうか?

ムクファディン:有名なNoSQLデータベースとしてはドキュメントデータベースの「MongoDB」があります。これはJSONベースで柔軟性の高いデータベースです。「CouchDB」はKey-Valueストアで、インメモリで動くことが特徴でしょう。「HBase」はHadoopのエコシステムの1つであり、Hadoopの中でデータを扱うためのものです。その他にも「Riak」などもありますが、これもまたKey-Valueストアです。

 これらに対しCassandraは、フルスキーマのNoSQLデータベースです。Riakと近い存在とも言えます。特長はユーザーに近く、ダウンタイムがないビジネスで利用するためのデータベースとして生まれていることです。止まってしまうとビジネスに影響の出るような領域で利用することを前提としています。

 実際にそういう目的で、スタートアップはもちろん大企業でもCassandraは使われています。SONY PlayStation Networkでは、かつてセキュリティの問題で30日間ものダウンタイムを経験しました。2度とそんな状況を起こしたくないと選んだのがCassandraでした。データが1つのサーバーにしかないと、そこに障がいが発生した際に迅速に復旧できないことがあります。さらに拡張性の面でもCassandraの評価は高いものがあります。Oracleのようなデータベースでは容易に拡張できないような場合に、Cassandraを選択するユーザーがたくさんいます。

Q:データを分散してさらに拡張性を確保しようとすると、データの一貫性が犠牲になりませんか?

ムクファディン:当初は、データベースのデータの整合性について理解するのには難しいものがありました。でもよくよく考えてみると、システムのさまざまな処理においてはデータの一貫性の確保というのがそれほど大きな問題にはならないことが分かってきたのです。Cassandraにおいては、むしろJoinがないといったことや、クエリーの機能性のほうが今では問題になります。

 Cassandraでは、独自のデータモデルの考え方を理解することがもっとも重要です。これがしっかりしていれば、NoSQLデータベースで問題と思われるようなことはほとんどうまくいきます。

Q:Cassandraのデータモデルを理解するのは難しいですか?

ムクファディン:たしかにリレーショナルに慣れている人には難しい面はあります。私自身、ここ3、4年はCassandraのデータモデルを理解してもらうことに力を注いでいます。データモデルについては、まだまだディスカッションが必要だと思っています。

 私は14年間ほどOracleデータベースの管理者をやっていました。私のように長い間リレーショナルなデータモデルに慣れてきた人間には、データモデルの議論をしている際にここが課題だったのかと分かる瞬間があります。「ああ、なるほどな」という瞬間があるのです。

ライバルはOracle Database

Q:今までの話を聞いていると、「Oracle vs Cassandra」という構図が見えてきます。Cassandraサイドとしては、Oracleのような商用リレーショナルデータベースをどう捉えているのでしょうか?

ムクファディン:リレーショナルデータベースは、インターネットの規模感やこれから出てくるIoTの世界で利用するデータベースとしては、拡張性の面などから必ずしも適しているとは言えません。Cassandraが解決しようとしているのが、まさにこのIoTのような領域のニーズです。そう考えると、IoTなどの分野においては、Oracleのようなデータベースとかち合うことはないでしょう。実際のところ、Oracleなどに取って替わろうというものではありません。適材適所でデータベースは選ぶべきです。野球をするのにゴルフのクラブを使わないのと一緒です。なので、Cassandraでデータウェアハウスを作るといった使い方はお薦めしません。

Q:IoTなどの領域で使うデータベースに最適だとは言うものの、Cassandraはまだまだ発展途上にあるのではと思います。現状のCassandraの弱点はどんなところでしょうか?

ムクファディン:Oracleのようなデータベースには、10年、20年とかかって積み上げてきた実績があります。Cassandraはまだ6年ほどで、当初挙げられていた課題はここ最近になって解決してきたところです。今、我々が注力しているのは、使いやすさ、管理のしやすさです。あとはインデックスの仕組みにも力を入れています。これは、扱いやすさにつながるものです。もう1つ解決したいのが、扱えるデータのサイズです。1つのノードで使えるデータの量が増える方向にあります。これを拡大するのも次のステップの課題です。

 さらに、タイムシリーズデータの扱いにも取り組んでいます。時系列のデータを扱いやすくする。これはIoTが普及してくると、重要になると考えています。その他にも不正検知などでもタイムシリーズの機能は重要です。

Q:市場ではリレーショナルデータベースの競合がNoSQLデータベースというようにNoSQLデータベースを一括りに見てしまう傾向もあります。Cassandraには、競合となるような存在はありますか?

ムクファディン:もっとも大きな競合はOracleだと思っています。NoSQLのベンダーはどれをとってもビジネスのサイズはまだまだ小さい。一方のOracleは極めて大きなマーケットを持っています。Oracleのマーケット規模に比べたら、NoSQLを全部合わせても50分の1くらいしかないでしょう。そう考えれば、競合はやはりOracleだと思っています。

次のページ
Sparkと組み合わせれば、弱点が克服され新たなユースケースにも対応できる

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/7359 2015/10/23 13:12

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング