InfoTalk Spring Break 2012(NoSQL) - Cassandra
- yukio_saitoh
- 2530
- 0
- 0
- 2
Cassandra 川中 真耶 氏=Google ご登壇です。もともとワークスアプリケーションズの方。 カサンドラについてお話いただけます。 #infotalk
2012-03-18 13:45:45なんで Google なのに カサンドラなの? Google とはなんの関係もないとな。 #infotalk
2012-03-18 13:46:19川中さんの自己紹介。 @mayahjp 最近のお仕事 Webkit で Shadow DOM という規格を実装中。その他 PARTAKE、競技プログラミング、 OCaml, プログラミング言語など。。。 #infotalk
2012-03-18 13:47:23Cassandra は fb によって開発された分散データベースである。 2008年7月に Apache 財団へ寄付された。公式サイトによると netflix, Reddit, digg, twitter などが使っている。 #infotalk
2012-03-18 13:49:13Cassandra は >300TB, >400machines のクラスタでの稼働実績あり。利点はそこそこ速い。 数台で 数万 qps~、ノード追加で書込みがスケールする、SPoF(単一障害点)がない。データが単なる byte array ではない。 #infotalk
2012-03-18 13:50:16Cassandra は一貫性の制御に自由度がある。最初から Data Center 分散に関する機能がある。 #infotalk
2012-03-18 13:50:45Cassandra // memcached は Key を取ってくると byte array で書き換えが発生する。しかし(半)構造を持つ。 RDB table 風に使える。 #infotalk
2012-03-18 13:51:29Cassandra データセンタを跨って運用することを想定して作られている。 ex.) 2つ以上のデータセンタに対して書けという指示が出来る。 #infotalk
2012-03-18 13:52:26Cassandra の主な制限。トランザクションが制限、 join なんて気の利いたものはない。基本的に普通の KVS の制限がある。 #infotalk
2012-03-18 13:53:13Cassandra 概略:外から見えるデータ構造。分散データ保持サーバの決定(コンシステント・ハッシング、パーティショナー、冗長化) #infotalk
2012-03-18 13:53:51Cassandra のデータ構造(KVS) :KeySpace には KEY (名前空間を分ける)に対してカラム(NAME, VALUE) を持ち、カラムファミリー(Tableのようなもの)と呼ぶ。 #infotalk
2012-03-18 13:55:27NoSQLってたぶんRDBとはそもそも全く違うものくらいのつもりで思ってたほうがいいんだろうにゃ、と初心者まるだしの発言をしてみる #infotalk
2012-03-18 13:55:59Super Colum を通常のカラム代わりに使用できる。さらにもう1つ NAME → VALUE とできる。 NAME → VAKUE 構想は実際にタイムスタンプが付与される。書込み競合した際は新しい方を採用するために使用される。 #infotalk
2012-03-18 13:56:46Column は name で sort されている。 → O (log N) で取れる。 #infotalk
2012-03-18 13:57:44分散データ保持サーバの決定: コンシステントハッシング 2^64-1 or 0 で計算している。 間違った方法: KEY の hash mod N を取り、KEY mod N 番目のサーバにデータを保持する・・・サーバ増減でデータの大移動が発生w #infotalk
2012-03-18 13:59:13新しくノードが増えても、各ノードが担当するハッシュを参照するのでデータコピーする対象を認識できる。コンシステント・ハッシング。 // 分散が適切になるようにハッシュを参照して書き込むのか。 #infotalk
2012-03-18 14:01:20KEY に対するプリフィックスを見てから順序を決定するので、探索ではなく検索して空きノード(もしくは負荷状態)へデータコピーする // ように聴こえる。 #infotalk
2012-03-18 14:02:52データの冗長化と一貫性。データを保持するノードは1台だけとは限らない・・・冗長化できる。複数台は設定で選べる。 #infotalk
2012-03-18 14:03:31一貫性レベル:3台に書き込みたいが、最低2台書込みでいい場合は、残りは「そのうちw」に write される。レベル ZERO:保証しない、ANY:どこかにかかれたことを保証、ONE:1台書かれたことを保証。 #infotalk
2012-03-18 14:05:22