SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

エンタープライズの現場で本格化するNoSQL活用のすべて

なぜ今、エンタープライズ分野でNoSQLが再評価されているのか?

エンタープライズの現場で本格化するNoSQL活用のすべて 第1回


再評価されるNoSQL

 もちろん、そんな中でもNoSQLの未来を信じる開発コミュニティや企業による不断の努力は続きます。技術的な改良の積み重ねが進み、実装ノウハウなどの情報も豊富になり、当初見られたような問題もさまざまな形で解消されていくようになりました。以下では初期のNoSQLに見られた「トランザクション」「既存資産」「代替手段」についての状況がどのように改善され、なぜNoSQLが再評価され始めているのかを事例を含めて見ていきます。最後にIoTという潮流とNoSQLとの切っても切れない関係についても触れておきます。

トランザクション機能の拡充

 トランザクション機能については、例えばCassandraについては、まず最も基本となる行レベルでの書き込みのAtomic性が保証され、同様に読み取りについても行レベルでの分離が保証されました。これにより、ある行の複数のカラムを更新する際に全部成功するか全部失敗するかというall or nothingの動作を期待できるようになり、この処理中にデータを読み込んでもすべてのカラムが更新される前か後かのどちらかの値を返す(一部のカラムのみ更新されている状況を読み出せない)ようになります。

 そして次は、一般に「CAS操作」と呼ばれる軽量トランザクション機能がついにサポートされました。これにより条件付き更新を行えるようになり、Cassandra単独で排他制御などの機能も実装できるようになりました。さらにはバッチ更新時のAtomic性もサポートされています。

 ここまで機能性が整ってくると、実装の工夫による業務アプリケーション構築も可能になってきます。例えば、ワークスアプリケーションズのHUEがCassandraを採用する際、これまでのトランザクション処理内容を細分化して単純ないくつかの問題に収束させ、軽量トランザクションやアプリ側での制御に帰結させることで、99.9%の従来トランザクションを置き換えられることが判明し、残る0.1%についてもログの活用などにより解決できたといいます。さらに弊社BlueRabbitではBASE概念を応用した独自技術により、Cassandraにおいてトランザクション機能そのものを実現できるようにまでなっています。

SQLライクな言語による既存資産の活用

 次に既存資産の活用については、Cassandraでは既存のApache Thriftによるアクセス方法に加えて、SQLライクなCQL言語を導入したことで、学習コストが下がると同時に、使い勝手が大きく改善されました。シンプルなSQL文であればそのままCQLとして使用できるため、RDBを使用した既存アプリケーションとの接続が容易になっています。

 また、注目しておきたい事柄としては、PentahoやTableuなどのBIツールをはじめ、さまざまな既存アプリケーションの側からのNoSQL対応も進んでいることです。これにはJavaやPython、C++、C#、PHPなど、複数の主要開発言語に対応したNoSQLドライバが充実してきたことが背景にあります。

代替手段のコストやメンテナンス性の課題

 代替手段については、プログラムの深部に手を加えて高速化するSQLの話は誰でも試せるものではありませんでしたし、ストレージに関しては安価なハードディスクと比べると高速なものはやはり目立って高価でした。NoSQLが概して安価なハードディスクを単に並べていく方式で高速化でき、そのおまけとして耐障害性も上がっていくという特性を持っていることは、コスト面およびメンテナンス面からもメリットがあると見直されてきてもおかしくないと考えています。

 このようにNoSQLの機能性や使い勝手の向上が進み、取り巻く環境もNoSQLを受け入れられるようになってきたことで、NoSQLの再評価が進み、エンタープライズ・アプリケーションとしての企業への導入が近年着実に進んでいます。

国内外の活用事例

 Cassandraについてのアメリカの事例としては、当初からeBayやNetflixが大規模にCassandraを使っていることは知られていましたが、実は最近Appleが7万ノードを超えるCassandraのユーザーであるという記事も出て業界を驚かせました。また別の記事では、ヨーロッパではテレビ放送のSKY TVがネット視聴のシステムに、金融機関のINGが決済システムに、British Gasが電気・ガスの利用状況の分析にそれぞれCassandraを導入していることが紹介されています。これらは元々RDBを使用していた際の規模的限界や障害発生時の反省・懸念からNoSQLへの乗り換えを決断した例です。詳しくはそれぞれの記事を読んでいただければと思いますが、これらの記事を研究することにより、NoSQLがビジネス上の個別の課題に対してどのように評価され始めているのかがよく分かります。

 日本でのCassandraの事例としては、例えば4月に当日350名の参加者となった「Cassandra Summit Tokyo, 2015」においても多く報告されています。Yahoo! Japanが社内基盤用に大規模に使用している事例や、前述のようにワークスアプリケーションズがERPシステムの裏側をRDBからCassandraに置き換えた事例、NTTコムウェアおよびNTTデータイントラマートによる採用例など、多くの企業による発表がなされ、弊社も車のIoTへの適用事例をご紹介しています。他にも、放送局の視聴データ処理、三菱電機のM2M基盤、JR東日本企画によるヘルスケアラリー基盤、RDBを一切使わないCassandraによるEC構築事例など、放送、IoT、M2Mからヘルスケア、医療、ECまで幅広い領域ですでにCassanrdaが導入されています。

 加えて、今年から米国DataStax社がCassandraの商用版であるDataStax Enterpriseについて日本語サポートを公式に始めました。ビジネスにおいてこの意味は大きく、特に日本で顧客にシステムを提案する際には(英語ではなく)日本語によるサポートの有無が1つの大きな選考ポイントになることも多いと思いますが、このハードルを下げることができるようになりました。今後は自社サービスへのCassandraの採用だけではなく、SI案件への適用事例が増えるという新たな流れが発生していくと考えています。

IoT分野との親和性

 そして最後に、最近NoSQLという単語を聞く機会が確実に増えてきたと実感している領域があります。「Internet of Things」つまりIoTです。もちろんIoTと言っても、単純なセンサーからウェアラブル端末、医療、車、工場など実に幅広い領域がありますが、これらのIoTに共通する非常に大切なポイントは「データを取得する」システムであるということです。IoTでは基本的に「モノ」がまさに機械的という言葉通りにひたすら送ってくるデータを漏れなく「受信」しなければなりません。従来のようにあらかじめサービスの元となる商品データなどを用意しておいて、リクエストに応じてそのデータを送信するというアウトプット型ではなく、そもそもサービスの元となるデータ自体が大量に送られてくるインプット型に切り替わることを意識する必要があります。そしてこの変化が、書き込み負荷の分散に強く、耐障害性も高いという特性を持つNoSQLへのニーズを高めている、という構図に繋がっています。

 この辺りについては、「IoTから見たRDBとNoSQLの特徴」という観点からまとめながら、次回見ていくことにしましょう。

修正履歴

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

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
この記事の著者

岸本 康二(ウルシステムズ株式会社)(キシモト コウジ)

ECシステム構築やスクラッチ開発案件に携わる内に、NoSQL型アーキテクチャの必要性と将来性を感じるようになり、本格的な取り組みを開始。Cassandraとの出会いはv0.6の頃で、その設計思想に当初から業務向け展開を意識していました。以来、NoSQLをベースとしたBlueRabbitプラットフォー...

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/8794 2015/07/13 10:58

イベント

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

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

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

メールバックナンバー