Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Cassandra3.0

1.097 visualizaciones

Publicado el

Cassandra 3.0 new Feature

Publicado en: Ingeniería
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Cassandra3.0

  1. 1. Cassandra new feature 株式会社 INTHEFOREST
  2. 2. 自己紹介 冨田 和孝(@railute) 株式会社INTHEFOREST 代表取締役社長 Cassandra商用サポート、Cassandraコンサルティング他 Python歴7年、最近はJavaが中心。 PHP、Ruby、JavaScript、Perl、Cは業務経験有り。 職種:本職はDB・インフラ系エンジニア 以前、某レストランサーチのDBA 高負荷・大容量・大規模のOracleRACとPostgreSQLと MySQLに苦しめられ続けた経験あり。 最近のトレンドはかつての専攻「認知意味論」をベースにした NLP
  3. 3. Agenda  Cassandraロードマップ  Cassandra new feature
  4. 4. Cassandra Roadmap  2.2の決定より3.0の開発開始が先  A major storage engine rewriteを待てないのでその他機 能を2系にバックポート  3系のリリースは根本的に変更予定
  5. 5. Cassandra Roadmap 今までのRoadmap 2.0 2.1 3.0 開発ブランチ 2.2 1.2 2.0 1.2.19 release 2014/9/19 2.1.0 release 2014/9/18 2.0.16 release 2015/6/16 2.2.0 release 2015/7/21 3.0.0 release 2015年9月中
  6. 6. Cassandra Roadmap これからのRoadmap (予定は未定。経験上割りとどうなるかわからない) ◆基本事項 • 月次リリース • チクタクモデル • 偶数バージョン:新規系 • 奇数バージョン:バグフィックス • 飛び飛びのアップグレードを担保する • 奇数系、偶数系のそれぞれの新規リリースが 出た時点で前のバージョンはEOL (3.1→3.7可。3.3が出た時点で3.1はEOL)
  7. 7. Cassandra 2.2,3.0 新機能  Commitlog compression  JSON support  role-based authorization  user-defined functions  Windows Support  A major storage engine rewrite  Materialized views ◆Cassandra 2.2,3.0 ◆Cassandra 3.0
  8. 8. Commitlog compression  コミットログの性能向上 セグメントの再利用をやめ断片化を減少  コミットログの圧縮 From datastax Cassandra 2.1 Cassandra 2.2 Cassandra 2.2 LZ4 Compress
  9. 9. JSON Support  JSON形式でのデータ引き渡しに対応  Cassandraのスキーマを無視することが目的ではない  カラム名に対するマッピングを簡易に CREATE TABLE users ( id text PRIMARY KEY, age int, state text ); INSERT INTO users JSON '{"ID": "user123", "Age": 42, "StAtE": "TX"}'; CREATE TABLE tags ( id int PRIMARY KEY, tags map<frozen<set<text>>,text> ); INSERT INTO tags JSON '{"id": 10, "tags": {"[¥"tag1¥", ¥"tag2¥"]": "details"}}';
  10. 10. Role-based authorization  RDBMS同様のRBAC(Role Based Access Control)  ALL  ALTER  AUTHORIZE  CREATE  DROP  MODIFY  SELECT •ALL KEYSPACES •KEYSPACE keyspace_name •TABLE keyspace_name.table_name 付与可能権限 付与可能場所
  11. 11. User-Defined Functions  ユーザー定義関数  SELECT文で実行可能な関数を定義可能 CREATE OR REPLACE FUNCTION fLog ( input double ) CALLED ON NULL INPUT RETURNS double LANGUAGE java AS ‘return Double.valueOf(Math.log(input.doubleValue()) ); 現時点でJavaとJavaScriptをサポート。 今後、Python、Ruby、 Scala対応予定
  12. 12. User-Defined Aggregate Functions  ユーザー定義集約関数  SELECT文で実行可能な集約関数を定義可能 (但し集約そのものはコーディネーターノードで実行) CREATE OR REPLACE FUNCTION avgState ( state tuple<int,bigint>, val int ) CALLED ON NULL INPUT RETURNS tuple<int,bigint> LANGUAGE java AS ‘if (val !=null) { state.setInt(0, state.getInt(0)+1); state.setLong(1, state.getLong(1)+val.intValue()); } return state;
  13. 13. Windows Support  Cassandra 3.0はWindows上でもテストします。
  14. 14. A major storage engine rewrite  ストレージエンジンの近代化  CQL構造のストレートエンジン 要するにThrift時代のKVSタイプのデータ構造をやめて技術的負 債を返しましょうという話。 現在のCassandraのデータ構造はセル形式であり複数行読み込むには極め て非効率的であること。それによってGCの発生を抑えられないことがパ フォーマンスの悪化につながっている。ここを改善しましょうとの事。
  15. 15. Materialized Views  マテビュー実装!!!! CREATE MATERIALIZED VIEW alltimehigh AS SELECT user FROM scores WHERE game IS NOT NULL AND score IS NOT NULL AND user IS NOT NULL AND year IS NOT NULL AND month IS NOT NULL AND day IS NOT NULL PRIMARY KEY (game, score, user, year, month, day) WITH CLUSTERING ORDER BY (score desc)
  16. 16. まとめ 来週のCassandra Summitでもう少し細かい話をApache Cassandra ChairmanであるJonathanが話してくれると思い ます。次回のCassandra勉強会にて何方かが報告をしてく れる事を期待しています。(w

×