はじめに
Cassandra の事を調べる時にいつもお世話になっている id:oranie さんのブログ記事で Cassandra Summit
の存在を知り居ても立ってもいられず申し込んで行ってきたのでメモ。
参考
- ■Cassandra Summit JPN 2014でスピーカーする予定です
- Cassandra Summit JPN 2014 にいってきた(午前編)
- Cassandra Summit JPN 2014 にいってきた(午後編)
- Cassandra Summit JPN 2014
- Cassadndra Consortium Japan
- Cassandra summit JPN 2014でスピーカーしてきました。
参加したセッション
- Cassandraを含むシステム全体の可視化とパフォーマンス分析
- Cassandra導入事例と現場視点での苦労したポイント
- Cassandra100台クラスタを運用して(oranie さんのセッション)
- Large nodes with Cassandra
- Cassandraでここまで出来る!こう使える! 技術ネタからEC、監視、M2M案件まで
参加したセッションのメモはこちら。
セッションメモ
Cassandra 超初心者の自分が参加したセッション毎に感じた事などを。
Cassandraを含むシステム全体の可視化とパフォーマンス分析
- システム監視ツール dynaTrace の紹介
Cassandra
専用というわけではなくアプリケーション(Java
やPHP
やJavascript
)をシステム全体の監視ツール- 負荷が低いのが特徴
Cassandra
は1.0 〜 1.2.x
に対応- アクセスメソッドのトレースや
JVM
のリソース状況を把握出来る
Cassandra導入事例と現場視点での苦労したポイント
- ぐるなびの導入事例
- ぐるなびは月間 10 億 pv(スゲー)
- レストラン情報を RDB と XML で管理していた
- memcached も利用していたがデータの永続性、データ量、アクセス数増加に耐えれない
- Cassandra version 0.6 から検証開始
- 2013 年 6 月から 70 ノード、3 つのリング(データセンター)で運用している
- スケールし易い、高い性能(◯)
- トランザクション制御(Zookeeper Lock でトランザクションを実装)(✕)
- データの削除が面倒(削除したはずのデータが復活してしまうことがある...、古いデータが削除し辛い...)(✕)
Cassandra100台クラスタを運用して(oranie さんのセッション)
以下はセッションのスライド。
- サイバーエージェントの id:oranie さんのセッション
- これだけを聞きたくて今日は来た*1
- スマフォ向けソーシャルゲームのインフラとして、データ量、負荷等を考慮して Cassandra を採用
- 100 台のノードを運用
- Cassandra 1.1 系
- 全て物理サーバーで運用(16 core or 24 core CPU/ 64GB / SAS 600GB RAID 10(SSD や SATA))
- 構築は Chef と fabric と Jenkins っを利用*2
- 監視は Nagios と Jenkins と Perl スクリプト(メール、Push 通知で利用)
- JMX の監視には jolokia を使っている
- Cacti や growthforecast + yohoushi も利用している
- OpsCenter は 100 台となるとキツイ
- 細かいノードの情報は growthforecast + yohoushi で
- ほとんどのオペレーションで nodetool を利用している
- ノード障害時のリペアについてはこちらやこちらが参考になる
- スキーマ設計、ハードウェアの安定も重要
- リペアが重い、データが肥大化する、slow log 的なものが無い、node tool の出力がバージョンによって異なる...ここが困るよ Cassandra
Large nodes with Cassandra
- 1 ノードに 500GB 以上の容量を Large nodes
- 一応、メモってはいるが纏められない...
- Aaron Morton さん、すいません...でも、なぜか Aaron Morton さんには特別な親近感を持てたのはやっぱりスキンヘッドかしら...
Cassandraでここまで出来る!こう使える! 技術ネタからEC、監視、M2M案件まで
- ウルシステムズの岸本さん
- 数少ない Cassandra 本の作者の方だった...
- Cassandra にトランザクション機能を実現する Nanahoshi の活用事例
- クラウドの監視サービスを提供する RabbitScope
- 電話機でクラスタを操作出来るというのは夢のようで嬉しい!
- Cassadndra Consortium Japan を作りました!
最後に
感じたこと
- Cassandra は SPOF が無くスケールアウトしやすい NoSQL
- スケールし易いがゆえにデータやノードの管理には苦労しそうだが、ちゃんとした設計をすれば安定稼働する
- トランザクションが無いので別途アプリケーションやミドルウェアでハンドリングしてあげる必要がある
- 運用、監視にも Java の知識は確実に必要
- これからのシェアの広がりと開発コミュニティの盛り上がりを感じた
そして..T シャツを頂きました
ステッカーとかもあるといいなあと思ったけど、このロゴはちょっと怖いかもしれない...。
最後になりますが、登壇された方、主催者、運営者の皆さん、大変お疲れ様でした。有難うございました。