2010/10/20

Cassandra Hands-on トレーニング 第1日目

10月19日(火)、渋谷にあるGeminiの会議室にてCassandra Hands-on トレーニング第1日目を開催しました。講師はGeminiのグローバルR&Dを統括するGary Ogasawaraです。10人の方々にお申込みいただきましたが、仕事などの都合で急遽参加できなくなった方もおり、計7人にご参加いただきました。

1時間目は、NOSQLとCassandraの概要です。NOSQLの概要として、NOSQLが必要になってきた技術的側面からの背景やNOSQLとSQLの違い、NOSQLのプロジェクトの分類などについて説明をいたしました。そして、Cassandraの概要としては、その技術的な特徴について説明をいたしました。特に強調したのは、列指向型と呼ばれるデータモデルと、書き込みはメモリー上の"In-Memory Table"とディスク上の”Commit Log”に行われ、"In-Memory Table"からディスク上の"SSTable"に複製(レプリカ)をすることで、サーバー障害などの際にメモリーが消滅してもディスク上にデータは残るというLocal Persistent(永続性)の仕組みでした。参加者の方々から、分散されたノードにデータを振り分けるコンシステント・ハッシングについてのご質問などにより、議論も盛り上がりました。

2時間目は、事前準備として参加者の方々に仮想化ソフトウェアであるVirtual Boxをインストールしておくことをお願いしてありましたが、そのVirtual BoxのRed Hat Linuxで動作するアプライアンスを皆さんにお配りしました。

このアプライアンスは、GeminiのUSの開発チームのトレーニング用に作成したものです。ただし、そのUSのトレーニングにおいては、ラップトップのメモリーサイズやディスクサイズなどのハードウェアの要因により、うまく動作しないというケースも見受けられました。そのため、予備のラップトップを用意してあったのですが、、あっという間に全員が設定を終えてしまいました。この手際の良さには、講師のGaryも驚いていました。

このアプライアンスには、Cassandra、YCSB、翌日に利用するTwitter類似のアプリなどが組み込まれています。そして、第1日目は、CassandraとYCSBを操作してみました。多少のトラブルもあるかと想定していましたが、参加者の方々は簡単に操作され、こちらは一安心といったところです。

こうして、ちょうど2時間で、CassandraとYCSBの操作までというセッションを終了しました。第2日目は、Twitterに類似したアプリケーションの開発を通して、Cassandraのデータモデルを理解します。この模様については、あらためてご報告することにいたします。