SHOEISHA iD

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

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

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

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

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

お申し込み受付中!

NoSQLユースケース100

ワークスアプリケーションズがCassandraを選んだわけ #CASE 001


 国産ERPベンダーとして気を吐くワークスアプリケーションズ。同社はこれまでアプリケーションベンダーとして、その独自の製品コンセプトや機能面を取り上げられることが多く、その裏にある技術に関しては多くは語られてこなかった。同社は創業5年で上場を果たし、10年間の上場の後、2011年にMBOを行った。新製品の開発に、より多くの研究開発費を投入するためだ。そしてこの頃から、代表取締役最高経営責任者 牧野正幸氏の思いもあり、技術革新により一層こだわった新生ワークスアプリケーションズが始まった。

 ワークスアプリケーションズでは、グローバルでの技術者採用にも積極的に取り組んでいる。「アジアを中心に優秀な技術者の採用が進んでいます」と語るのは、ワークスアプリケーションズ 広報の太田更紗氏だ。この成果もあり、現在では海外での開発体制がかなり充実した。

ワークスアプリケーションズ 広報 太田更紗氏
ワークスアプリケーションズ 広報 太田更紗氏

 そんなワークスアプリケーションズでは、2014年10月、新製品として次世代ERPシステム「HUE」を発表した。「HUEは技術の革新です」と太田氏。次世代ERPシステムとして開発しているHUEは、同社の実績あるERPパッケージ「COMPANY」を拡張したものではない。まったく新しいコンセプトで、1から作り直したものなのだ。

 このHUEでは、ERPアプリケーションでは当たり前だったリレーショナル・データベースと決別し、NoSQLのCassandraを採用した。同社では、すでに5年ほど前からCassandraを社内システムで運用していたという。

 ここで、ワークスアプリケーションズが新製品のHUEでなぜCassandraを採用したのか。その理由と、Cassandraをベースにしたアプリケーション開発の過程について、同社でHUEテクノロジー開発リーダーを務める堤 勇人氏に話を訊いてみよう。

とにかく速さを求めてCassandraを選んだ

 HUEテクノロジー開発 リーダーを務める堤 勇人氏
ワークスアプリケーションズ HUEテクノロジー開発リーダー 堤 勇人氏

Q:HUEでCassandraを採用した背景を教えてください。どのような課題があったのでしょうか。

堤:最大の理由は速度です。HUEでは、100ミリ秒でレスポンスする目標が掲げられました。これを実現するのは、CEOの牧野の強い思いでもあります。

 掲げられた速度目標は、ユーザーのアクションに対し常に100ミリ秒以下で画面を返すものです。100ミリ秒というのは、人が「一瞬」と感じる速度の境界です。これを実現しようとすると、画面描画時間などもあり、データベースへのアクセスは20ミリ秒くらいしか許容できません。

 当初はリレーショナル・データベースを含めこの要件の実現を検討しましたが、ERPの処理でリレーショナル・データベースを使うと、ソートやJoinが発生するので50ミリ秒くらいはかかります。これでもERPとしてはずいぶん高速です。ところがデータベース処理で50ミリ秒使うと、ユーザーへのレスポンスを100ミリ秒以下にはなかなかできません。

 であれば、時間のかかるソート処理などもあらかじめしておく。そう考えるとNoSQLデータベースでもいいのではと思い至りました。一方で、ERPではバッチ処理的なものも数多くあり、これも当然ながら速くしたい。データベースの処理で速度と言った場合、スループットとレスポンスがありますが、その両方が必要となる訳です。

 もちろんリレーショナル・データベースも、お金をかければレスポンスやバッチ処理は高速化できます。でもそれだとユーザーメリットにはなりません。さらに、HUEはクラウドで提供するので、ユーザーが増えても可能な限り線形でスケールする仕組みが必要でした。こういった要件から、Cassandraを採用しました。

Q:リレーショナル・データベースとのハイブリッドではなくCassandraだけで作ることになったのはなぜですか?

堤:理由はやはり速度です。NoSQLを使うとした際に、改めてERPの処理について考えてみました。その結果、全ての処理にトランザクションをかける必要はないのではとの結論となったのです。

 そこでNoSQLを全面的に採用し、トランザクションでデータ整合性を確保しなければならない部分は、別途作り込むことにしたのです。COMPANYは、機能を網羅していることが売りのERPです。対して新たなHUEは、COMPANYで速度が出ない機能は出荷しないくらいのコンセプトで、とにかく速度を重視すると牧野も言っています。

 Cassandraを選んだもう1つの理由に、スモールスタートできることがあります。NoSQLデータベースには、性能を確保するには良いサーバーが5ノードくらい必要、という製品もあります。Cassandraは1ノードでも利用でき、3ノードもあれば十分に性能が出ます。

 それと分散処理構成でも、単一障害点(Single Point of Failure)がないアーキテクチャも評価しました。マスターノードがなく、その上で可用性に重点を置いているのも採用ポイントでした。

 当然、他のNoSQLデータベースも検討しました。その際に比べたのは実績です。また、オープンソースであり、特定のベンダーにロックインされないのも評価ポイントでした。すでに社内システムでCassandraを利用しており、技術的な蓄積があったことも安心材料でした。

 CassandraがJavaで書かれていることも重要でした。我々はアプリケーションもJavaで書いているので、社内にはJavaの得意なエンジニアがたくさんいます。いざとなればCassandraのソースコードを読み、パッチを送ることも出来ます。

次のページ
リレーショナルとの違いを理解する

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

  • Facebook
  • Twitter
  • Pocket
  • note
この記事の著者

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

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

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

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

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/7147 2015/09/04 11:47

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング