CassandraはもともとFacebookが開発してApacheソフトウェア財団に寄贈されたもの。数年は冬眠のような状態が続いたが、ここにきて機が熟したのだろうか。ここ1~2年でアメリカやヨーロッパで急速に導入が続いている。2014年はアップルやソニーなど著名な大企業が導入を表明したこともあり、2015年は導入の勢いがますます加速しそうだ。
高負荷と拡張性が求められる動画配信のSKY TV
3月にDataStaxのヨーロッパで技術トップを務める清水速人氏が来日した。清水氏は日本人で今はイギリスで過ごしている。最近Cassandraを導入したテレビ放送のSkyTV、金融機関のING、電気とガスのBG(ブリティッシュ・ガス)の事例について解説してくれた。
まずはイギリスを中心にテレビ放送を手がけるSKY TV。清水氏はもともとこのSKY TVでエンジニアを務めていたという。SKY TVはテレビ放送だけではなくブロードバンド回線(ISV)、電話回線も手がけており、イギリス在住ならこれらをセットで契約することもできる。
SKY TVでの動画配信はもともと商用RDBMSをベースに運用していたが、2013年12月からIPTV(インターネットで視聴するテレビ番組)のシステムをCassandraへと移行した(Cassandra自体は同社の別システムにて2011年から導入経験ずみ)。
IPTVは地上波や衛星放送とは異なるとはいえ、視聴者にとってはテレビ番組の1つ。途中で画像が途切れたりサーバーが落ちるなど決してあってはならない。またサッカーで人気チームが対戦する試合など人気番組となると視聴者は急増するため拡張性も必要となる。
SKY TVではユーザーは1アカウントにつき端末2台まで視聴できる契約になっている。例えば同じアカウントでパソコンとiPhoneで見てもいいが、次にiPadでつなげると3台目となるからダメということになる。そのためサーバー側ではアカウントあたり10秒に1度ハートビートチェックしている。全視聴者に10秒おきにチェックとは、ちょっと考えただけでも相当な負荷になりそうだ。
基本的には2つのデータセンターでオンプレミスで運用しつつも、負荷が通常より大きく高まるときにはAWS(Amazon Web Service)も併用して拡張するのだそうだ。つまりオンプレミスとパブリッククラウドをハイブリッドで用いることになる。清水氏によると、ハイブリッドなクラウド環境での運用を考えると、商用データベースよりもCassandraのほうが(ネットワーク拡張やセキュリティ対策などで)敷居は低くてすむのだそうだ。
なお負荷が高まる一定の期間だけパブリッククラウドを併用するCassandra事例はSKY TVだけではなく、米国の大手小売りでも似たようなことが行われている。米国では感謝祭後の金曜日は「ブラックフライデー」と呼ばれ、消費者が1年で最も買いものをする日となる。オンラインショッピングサイトにも高い負荷がかかるため、短期間だけ利用できるクラウドサービスを併用して乗り切るのだとか。
金融機関INGまでもがオンライン決済システムにCassandraを採用
次は金融機関。オランダ発祥のグローバルな金融機関にINGがある。INGではかつてネット小売系決済システムで障害が発生したことがあり、そのときは国会でも採りあげられるほど問題となった。そこでINGは「これではダメだ。分散システムにしないと」と一念発起し、商用データベースからCassandraベースのシステムへと移行に至ったのだそうだ。
そして2015年に入り、本番稼働がスタートした。つい最近のことである。金融機関が扱うようなこの手のデータというのは「System of Records」、つまりRDBMSが扱うタイプのデータである。それがRDBMSではなく、「NoSQL」に分類されるCassandraをベースとしたシステムが担うとは驚くべきことではないだろうか。
この大胆な決断はINGがテクノロジーに前向きであることが大きい。清水氏によるとINGは(金融機関でありながら)「我々はテクノロジー企業になる」と新しいテクノロジーを導入することについて積極的かつ野心的な意向を示しているそうだ。こうした決断が今後ビジネスにどうインパクトを与えていくのか、とても興味深い。
清水氏によるとINGが商用データベースからCassandraを選んだ理由にはレジリエンス(弾力性や回復力)や高可用性があるという。急激な高負荷がかかっても乗り切れること、リニアにスケールするところが評価されている。