#garagekidztweetz

id:garage-kid@76whizkidz のライフログ・ブログ!

Cassandra Summit JPN 2014 にいってきた(午前編)

スポンサーリンク

f:id:garage-kid:20140124213315p:plain

今年もブログを書くまでが勉強会ってことで、参加してきた勉強会のメモを公開していきます。

2014 年、最初の今回はCSJPN2014へいってきました。

わたし自身は Cassandra をほとんど触っていないんですが、チームでは使っているので、仕事を円滑にするために、現状のトレンドをキャッチアップするため、が動機でした。

ちなみに今回からわたしが参加してきた勉強会等のイベントのメモを公開するときには、一日開催されていた勉強会に関しては、午前と午後で二つにわけてメモを公開するようにしていこうと思ってます。

というわけで、このエントリは午前のメモ用のエントリで、この後続いて午後のメモ用のエントリを書くつもりです。 午後の分は Cassandra Summit JPN 2014 にいってきた(午後編)に書きました。

ちなみにこのイベント、ハッシュタグらしいものがなさそうだったのでとりあえずそれっぽい #csjpn2014 と #cstk2014 をつけてつぶやいています。

とりあえず、わたしが参加してきたのは以下のセッションです。

午前:

  • 会場 (A): 会場挨拶 INTHEFOREST 登壇者:冨田 和孝 氏
  • 会場 (A): Cassandra 2.0 and 2.1. (DataStax) 登壇者:Jonathan Ellis 氏
  • 会場 (B): Cassandraを含むシステム全体の可視化とパフォーマンス分析 (タクトシステムズ) 登壇者:菅野 正樹 氏

午後:

  • 会場 (A): Cassandra's Tunable Consistency (DataStax) 登壇者:Al Tobey 氏
  • 会場 (A): Cassandra100台クラスタを運用して (株式会社サイバーエージェント) 登壇者:oranie(成田 俊) 氏
  • 会場 (B): CQL3 Data Modeling (DataStax) 登壇者:森下 雄貴 氏

そして以降からが、わたしのとってきた各セッションのメモです。

会場 (A): 会場挨拶 INTHEFOREST 登壇者:冨田 和孝 氏

  • 日本における日本語情報の不足
  • ただでさえ少ない日本語情報の更新不足
  • データモデリングの失敗など
*****
  • Cassandra Consortium Japan の設立します 日本Cassandra協会 | Cassadndra Consortium Japan
  • 日本語の Cassandra 日本語情報のポータル化を目指します
  • まだ作ってる最中、201403 をめどに立ち上げる予定
  • 発足準備会
    • INTHEFOREST
    • ウルシステムズ
    • NTT-Communications
    • コネクト
  • 今後の Cassandra の勉強会の告知もここで行う

会場 (A): Cassandra 2.0 and 2.1. (DataStax) 登壇者:Jonathan Ellis 氏

  • 5 年以上の Cassandra 経験
  • Cassandra 使ったことがある方向け
*****
  • Core Values
  • Masive Scalability
  • High Performance
  • Scalability
    • plus Ease of Use -> CQL
*****
  • Native Drivers
    • Java, .NET, Python, C++, Comming soon (PHP, Ruby)
*****
  • Data DevCenter (supported)
*****
  • Tracing (supported)
    • to see what goes on in your cluster
    • ex. what happening when insert query was conducted
*****
  • Authentication (supported)
    • also support Kerberos auth
    • need to create new SUPERUSER
*****
  • Authorization (supported)
*****
  • until above is already supported until 1.2.
  • Here after new in Cassandra 2.0
*****
  • Lightweight transaction (IF NOT EXIST clause support)
    • when Race condition happened to prevent the data bug.
    • Above was done by Paxos protocol
    • Paxos
    • all ops are quorum-based
    • Each replica sends info about unfinished ops to the leader during prepare
    • Paxos made Simple (paper, recommend to read if you want to know in detal)
    • Paxos Detail
    • Paxos state is durable
    • Immediate consistency with no leader election or FO
    • ConsistencyLevel.SERIAL
    • Use Paxos with caution (see the slide)
*****
  • CQL improvement
    • Cursors (become simple when using CQL)
  • minor improvement of CQL
    • SELECT DISTINCT pk
    • CREATE TABLE IF NOT EXIST table
    • SELECT ... AS (alias)
    • ALTER TABLE DROP column
*****
  • On-Heap/Off-Heap (admin side improvement)
    • memory optimization
    • Read path (per sstable)
    • Off heap in 2.0
    • partition index summary
    • using Bloom filter
      • and when bloom filter said there is a partition
      • partion key cache -> partition summary -> partiton index -> compression offsets
*****
  • Compaction
    • Single-pass, always (no matter how much large the data is, always single-pass)
    • LCS performs STCS in L0 (Sad case before this improvement is explained)
*****
  • Rapid read protection (for the performance)
    • prevent timeout happened when the failure happen on the particular node
    • mild the impact of the failure.
    • Also contibute to the latency improvement. -> Latency (mid-compaction)
*****
  • Cassandra 2.1
  • User Defined Type
    • enables Nest Collection
  • Collection indexing (CONTAINS clause)
  • HyperLogLog applied
    • for Inefficient bloom filters (before compacting hard to know how much big it will be)
    • HLL and compaction explanation (maybe happen in 3.0 version not in 2.1)
  • More-efficient repair
    • NW efficiency provided from this feature.
    • but not disk IO efficient.
    • make need only to see the new update.
  • Performance improvement
    • Memtable mermory use cut by 85%
    • larger sstables, less compaction
    • -50% better
    • Full results after beta1
*****
  • 2.1 roadmap
    • beta1 Jan
    • beta2 Feb
    • Final release March
*****
QA
  • Datastax Java Driver
    • Java Driver 2 will become available until this April.

所感:

Paxos の Paper は読んでみたい。 Paxos made simple、11ページほどのようなので、読むだけならそれほど難しくはなさそう。

追記:翻訳:Paxos Made Simple - minghaiの日記 すでに訳された方がいた模様。とりあえず、原文の方で読むけれど、とてもありがたい。 - 2014-01-27 14:33


会場 (B): Cassandraを含むシステム全体の可視化とパフォーマンス分析 (タクトシステムズ) 登壇者:菅野 正樹 氏

  • ツール dynaTrace の宣伝
    • 何ができるの? system 全体の可視化ができる
    • あと、パフォーマンス分析
*****
  • 最近の状況と問題
    • 複雑化するシステム→問題の原因も複雑化
    • システムのブラックボックス化 (flamework, SOA, cloud)→問題の切り分けが困難に
*****
  • 従来の対処では限界
    • ログの利用→ログ解析自体が大変
    • 監視ツールの利用→サーバ単位では不十分
*****
  • 新たな解決策としての dynaTrace
    • システム横断して処理の流れが把握可能
    • 問題の切り分け、特定が可能
*****
  • dynaTrace んお概要と特徴
    • Java, .NET, PHP, JS に対応した分析ツール
      • 短時間:すぐつかいはじめられる
      • 全網羅:全トランザクション 24/7
      • 低負荷:CPU 負荷は 2% 程度 (実績ベースの値)
*****
  • dynaTrace の位置づけ
    • 開発・運用保守のどちらでも利用可能 (devops どっちでも)
    • 分析ツールとしてもアプリ監視としても
    • 双方で競合はしない
*****
  • dynaTrace の仕組み
    • エージェント式
    • 監視対象に dynaTrace エージェントをインストール
    • dynaTrace サーバで分析
    • dynaTrace クライアントでトランザクションの処理の流れを把握する
*****
  • 事例
    • 大量の DB access (ムダなアクセスも発見できる)
    • 広範囲な同期処理
    • フレームワーク内のボトルネック
*****
  • Cassandra x dynaTrace
    • Cassandra 1.0.x, 1.1.x, 1.2.x
    • Hector 1.0, 1.1 (Thrift)
    • Datastax 1.0.2
    • できること
      • Cassandra へのアクセスメソッドのトレース
      • JVMプロセス状況
*****
  • demo
    • 動いたメソッドのトレース
    • サーバごとの処理の流れも描画してくれるようになっている
*****
  • まとめ
    • システム全体の可視化
    • アクセスメソッドの実行回数・時間
    • ノードごとのアクセスおよび負荷
    • サーバーや JVM の負荷
*****
  • 製品およびサービスの紹介、価格等はウェブを参照されたい

では、このあと午後編のエントリを書きます、ってことで。

関連記事