
AppleがiTunes、iMessage、その他大人気サービスをいかにスケールアップさせているのか、お伝えできれば良いのですが。でも、それは無理です。結局のところ、Appleは秘密を漏らすようなことはしないのですから。
確かに、Apple はついに Siri を拡張する方法 (大規模な Mesos クラスター) を世界に発表しましたが、求人広告では 4 つすべてを使用していると宣伝しているにもかかわらず、MongoDB、Hbase、Couchbase、Cassandra の使用については口を閉ざしています。
それでも、Apple の Cassandra 導入についてはわかっていることがいくつかあり、それは Apple の成功に倣いたいと考えている企業にとって貴重な情報です。
私たちが知っていること
MongoDBの元幹部として、AppleがMongoDBをどのように活用しているかについてはよく知っていますが、ここで詳しく話すことはできません。Appleが様々なNoSQLテクノロジーを活用するのは、適切なツールを適切な用途に使い分けるためだ、とだけ言っておけば十分でしょう。
Cassandra の場合、現在の求人情報によれば、多くの仕事に適したツールであるようです。
- MongoDB – 35 件の求人 (iTunes、顧客システム プラットフォームなど。MongoDB の強みである地理情報システムに関連するものもいくつか含む)
- Couchbase – 4 件の求人情報 (iTunes Social ですが、Couchbase は応募可能な NoSQL スキルの 1 つとして記載されていました)
- Hbase – 33 件の求人情報(マップ、Siri、iAd、iCloud など、Hadoop の導入に関連するものが多い)
- Cassandra – 70 件の求人情報(マップ、iAd、iCloud、iTunes など)
少なくとも求人数で見ると、Cassandra は Apple の主要な NoSQL データベースであり、他のどのデータベースよりも 2 倍の求人数があります。
これは採用という点ではどのような意味を持つのでしょうか?
1年前、Appleは75,000台以上のCassandraノードを稼働させ、10ペタバイト以上のデータを保存していると発表しました。少なくとも1つのクラスタは1,000台以上のノードで構成されており、AppleはCassandraで毎秒数百万回の操作(読み取り/書き込み)を定期的に処理しています。
この規模について考えてみると、息を呑むほどです。
Facebook のデータベースの第一人者、マーク・キャラハン氏は、Apple の Cassandra のワークロードは iTunes よりも iMessage に関係している可能性が高いと主張しているが、プロジェクトが何であれ、その規模は巨大であり、珍しいことではない。
アナリストの Curt Monash 氏によれば、ペタバイトまたは 0.5 ペタバイトの Cassandra クラスターは多数存在し、Cassandra の最大の貢献者である DataStax もこれを認めています。
しかし、Cassandra が得意とするのはスケールだけではありません。特に DataStax の助けがあればなおさらです。
カサンドラの得意分野
開発者が Cassandra を好む理由はさまざまですが、継続的な可用性、線形スケールのパフォーマンス、操作のシンプルさ、複数のデータ センターやクラウド アベイラビリティ ゾーンにわたるデータの容易な分散などが挙げられます。
これが実際に意味するのは、Cassandra は常にオンになっている必要のあるアプリケーション (オンライン トランザクションなど) や大規模なアプリケーション (Cassandra を使用して IoT センサー データを保存し、すぐに分析できるようにする British Gas など) に適しているということです。
分析に関しては、柔軟なスキーマ (データベース内) とリレーショナル スキーマを前提とした分析業界の不一致により、NoSQL データベースは一般に得意ではないと考えられていますが、DataStax は Cassandra を強化してきました。
Monash 氏が指摘するように、DataStax Enterprise で Cassandra と Apache Spark を組み合わせることで、「Spark はインメモリ速度で多くの処理 (分析) を実行できるようになります」。また、「Spark、新しい関数、および一般的なスクリプトを使用すると、低レイテンシの集計を実行する方法がいくつか存在します」。
Apple の話に戻ると、Cassandra は Apple に、増え続けるアプリケーション群に対応できる規模と分析能力を提供していることになります。
AppleのNoSQLについて
Sandeep Parikh 氏が示唆しているように、Apple が従来のリレーショナル データベースで十分な制限に直面し、「スケール アウトするにはコストがかかりすぎる」可能性もあり、Cassandra、MongoDB、その他の NoSQL テクノロジを積極的に使用していることは示唆的です。
なんと、Apple は NoSQL データベースの FoundationDB を開発する会社を買収するまでに至ったのです。
私の元 MongoDB の同僚 (そしてウォール街のアナリスト) Peter Goldmacher がインタビューで私に強調したように、「NoSQL テクノロジがなければ Apple のソフトウェア製品が実現できたかどうか疑問に思うのも無理はありません。」
中でも中心的な存在はCassandraで、採用率はおそらく2倍(求人情報から大まかに推測)です。ほとんどの企業はAppleほどの規模ではありませんが、Appleのような企業を目指す企業にとって、Cassandraは真剣に検討する価値があります。