O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
CTO, DataStax
Jonathan Ellis

Project Chair, Apache Cassandra™
“
”
After two years of working
with Cassandra’s CQL driver,
[JDBC] feels like a step
backwards.
Java Python C# C++
Ruby Go...
Operational Database Magic Quadrant
Legacy Post Relational
OperationalAnalytical
client
server
client
router
2002
X
Armin Ronacher
client
p1
p1
p1
Apr 2011
Oct 2012
Dec 2012
Sep 2013
Sep 2014
Sep 2015
outages
AWS RE:Boot 2014. 218
Cassandra nodes rebooted.
22 nodes didn’t come back
and got replaced. Zero
Netflix downtime.
Christos...
2013: 3 nodes
2015: 300 nodes
Geolocated
Active-Active — Stable State
Geolocated
Regional Load Balancers Regional Load Balancers
100%
Active-Active — Failover
Geolocated
Regional Load Balancers Regional Load Balancers
HDFS
64MB
Blocks
[I]t seems like HBase is very
buggy where 50% of sampled
failures are catastrophic, and
Cassandra is well engineered.
“
”M...
mmap, fsync, fadvise
commitlog, sstables
compaction, streaming
write-mostly read-mostly
balanced op/analytic
Cassandra 2.2 and 3.0
Windows Support
JSON
UDF
Role-based authz
Commitlog Compression
New Storage Engine
New Hints Architecture
Materialized Vie...
Windows Support
DTCS
UDF
Role-based authz
Commitlog Compression
New Storage Engine
New Hints Architecture
Materialized Vie...
JSON
CREATE TABLE users (

id uuid PRIMARY KEY,

name text,

state text,

birth_date int

);
INSERT INTO users (id, name, ...
Collections
CREATE TABLE example (

    id int PRIMARY KEY,

    tupleval tuple<int, text>,

    numbers set<int>,

    wo...
User-defined types
CREATE TYPE address (number int, street text);
CREATE TABLE users (

id int PRIMARY KEY,

street_address...
Deeper Nesting
CREATE TYPE address (

street text,

city text,

zip_code int,

phones set<text>

);
CREATE TABLE users (

...
Deeper Nesting
INSERT INTO users JSON
'{"id": "0514e410-2a9f-11e5-a2cb-0800200c9a66",
"name": "jellis",
"addresses": {"hom...
Role-based Authorization
CREATE ROLE accounting;
GRANT all ON invoices TO accounting;

GRANT select ON expenses TO account...
User-defined Functions (UDF)
CREATE FUNCTION my_sin (input double)

RETURNS double LANGUAGE java

AS ’

return input == nul...
UDF Aggregation
CREATE AGGREGATE avg (int)

SFUNC avgState

STYPE tuple<long, int>

FINALFUNC avgFinal;
CREATE FUNCTION av...
Commitlog Compression
2.2
2.1
Operations/s
Time
DateTieredCompactionStrategyReads/s
DTCS
STCS
LCS
2.5TB
DateTieredCompactionStrategyWrites/s
DTCS
STCS
LCS
3.0 Preview
New Storage Engine
Workloads
Bytes
Hinted Handoff Improvements
client
p1
p1
p1
X
Hinted Handoff Improvements
client
p1
p1
p1
Hint
Hinted Handoff Improvements
client
p1
p1
p1
Handoff
SSTable-based Hints
Hint
Compacted
Tombstone
Memtable
Commitlog
SSTableCommitlog
SSTable
Memtable
File-based Hints
Hint
.168.101
Hint
Hint
Hint
Hint
Hint
Hint
Hint
.168.104
Hint
Hint
Hint
Hint
Hint
Hint
Hint
Hint
.168.11...
File-based Hints
.168.104
Hint
Hint
Hint
Hint
Hint
Hint
Hint
Hint
.168.112
Hint
Hint
Hint
Hint
Hint
Hint
Hint
Hint
3.0
2.2
2.2 Hints vs 3.0Operations/s
Time
Materialized Views
CREATE TABLE songs (

  id uuid PRIMARY KEY,

  title text,

  album text,

  artist text

);
CREATE MA...
Indexes
CREATE TABLE songs (

  id uuid PRIMARY KEY,

  title text,

  album text,

  artist text

);
CREATE INDEX songs_b...
Local Indexes
client
title artist album
La
Grange
ZZ Top
Tres
Hombre
s
title artist album
Outside...
Back Door
Slam
Roll A...
Materialized Views
client
album id
Tres
Hombres
a3e64f8f
Tres
Hombres
8a172618
album id
Roll Away 2b09185b
Stress: raw vs 1 MV vs 5 MV
Operations/s
Time
raw
1 MV
5 MV
mvbench, 4 denormalizations
MV
Manual
Operations/s
Time
Beyond 3.0
3.x Development Process
3.0 releases
3.0 rc1: Out now
3.0 GA
October
December
3.1
3.2
January
February
3.3
3.0 releases
3.0 rc1: Out now
3.0 GA
October
December
3.1
3.0.1
3.2
3.0.2
January
February
3.3
3.0.3
Compatibility
3.0
3.1
3.2
DataStax Training for Apache Cassandra™
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Cassandra Summit 2015
Próximos SlideShares
Carregando em…5
×

Cassandra Summit 2015

437 visualizações

Publicada em

Cassandra Summit 2015 technical keynote

Publicada em: Tecnologia
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Seja a primeira pessoa a gostar disto

Cassandra Summit 2015

  1. 1. CTO, DataStax Jonathan Ellis
 Project Chair, Apache Cassandra™
  2. 2. “ ” After two years of working with Cassandra’s CQL driver, [JDBC] feels like a step backwards. Java Python C# C++ Ruby Go PHP node.js Jonah Grimes
  3. 3. Operational Database Magic Quadrant
  4. 4. Legacy Post Relational OperationalAnalytical
  5. 5. client server
  6. 6. client router 2002
  7. 7. X
  8. 8. Armin Ronacher
  9. 9. client p1 p1 p1
  10. 10. Apr 2011 Oct 2012 Dec 2012 Sep 2013 Sep 2014 Sep 2015 outages
  11. 11. AWS RE:Boot 2014. 218 Cassandra nodes rebooted. 22 nodes didn’t come back and got replaced. Zero Netflix downtime. Christos Kalantzis Director of Engineering “ ”
  12. 12. 2013: 3 nodes 2015: 300 nodes
  13. 13. Geolocated Active-Active — Stable State Geolocated Regional Load Balancers Regional Load Balancers
  14. 14. 100% Active-Active — Failover Geolocated Regional Load Balancers Regional Load Balancers
  15. 15. HDFS 64MB Blocks
  16. 16. [I]t seems like HBase is very buggy where 50% of sampled failures are catastrophic, and Cassandra is well engineered. “ ”Murat Demirbas SUNY Buffalo
  17. 17. mmap, fsync, fadvise commitlog, sstables compaction, streaming
  18. 18. write-mostly read-mostly balanced op/analytic
  19. 19. Cassandra 2.2 and 3.0
  20. 20. Windows Support JSON UDF Role-based authz Commitlog Compression New Storage Engine New Hints Architecture Materialized Views DTCS Message Coalescing 3.0
  21. 21. Windows Support DTCS UDF Role-based authz Commitlog Compression New Storage Engine New Hints Architecture Materialized Views JSON Message Coalescing 2.2 3.0(July) (Expected in October)
  22. 22. JSON CREATE TABLE users (
 id uuid PRIMARY KEY,
 name text,
 state text,
 birth_date int
 ); INSERT INTO users (id, name, state, birth_date)
 VALUES(now(), 'Joe User', 'TX', 1982); INSERT INTO users JSON
 '{"id": "1a4f88e2-6dc8-4edd-9e16-a7ba9c941f8d",
 "name": "Joe User",
 "state": "TX",
 "birth_date": 1982}';
  23. 23. Collections CREATE TABLE example (
     id int PRIMARY KEY,
     tupleval tuple<int, text>,
     numbers set<int>,
     words list<text>
 ); INSERT INTO example (id, tupleval, numbers, words)
 VALUES (0, (1, 'foo'), {1, 2, 3, 6}, ['the', 'quick', 'brown', 'fox']); INSERT INTO example JSON
 '{"id": 0,
 "tupleval": [1, "foo"],
 "numbers": [1, 2, 3, 6],
 "words": ["the", "quick", "brown", "fox"]}';
  24. 24. User-defined types CREATE TYPE address (number int, street text); CREATE TABLE users (
 id int PRIMARY KEY,
 street_address frozen<address>
 ); INSERT INTO users (id, street_address)
 VALUES (1, {number: 123, street: 'Cassandra Ave'}); INSERT INTO users JSON
 '{"id": 1,
 "street_address": {"number": 1,
 "street": "Cassandra Ave"}}';
  25. 25. Deeper Nesting CREATE TYPE address (
 street text,
 city text,
 zip_code int,
 phones set<text>
 ); CREATE TABLE users (
 id uuid PRIMARY KEY,
 name text,
 addresses map<text, frozen<address>>
 );
  26. 26. Deeper Nesting INSERT INTO users JSON '{"id": "0514e410-2a9f-11e5-a2cb-0800200c9a66", "name": "jellis", "addresses": {"home": {"street": "9920 Cassandra Ave", "city": "Austin", "zip_code": 78700, "phones": ["1238614789"]}}}';
  27. 27. Role-based Authorization CREATE ROLE accounting; GRANT all ON invoices TO accounting;
 GRANT select ON expenses TO accounting;
 GRANT select ON payroll TO accounting; GRANT accounting TO josie;
 GRANT accounting TO jay;
  28. 28. User-defined Functions (UDF) CREATE FUNCTION my_sin (input double)
 RETURNS double LANGUAGE java
 AS ’
 return input == null
 ? null
 : Double.valueOf(Math.sin(input.doubleValue()));
 ’; SELECT key, my_sin(value) FROM my_table WHERE key IN (1, 2, 3);
  29. 29. UDF Aggregation CREATE AGGREGATE avg (int)
 SFUNC avgState
 STYPE tuple<long, int>
 FINALFUNC avgFinal; CREATE FUNCTION avgState (state frozen<tuple<bigint, int>>, i int)
 RETURNS frozen<tuple<bigint, int>>, int
 LANGUAGE JAVA AS ’
 // (state[0] + i, state[1] + 1)
 state.setLong(0, state.getLong(0) + i.intValue());
 state.setInt(1, state.getInt(1) + 1);
 return state;
 ’; CREATE FUNCTION avgFinal (state frozen<tuple<bigint, int>>)
 RETURNS double
 LANGUAGE JAVA AS ’
 double r = state.getLong(0) / state.getInt(1);
 return Double.valueOf(r);
 ’;
  30. 30. Commitlog Compression 2.2 2.1 Operations/s Time
  31. 31. DateTieredCompactionStrategyReads/s DTCS STCS LCS 2.5TB
  32. 32. DateTieredCompactionStrategyWrites/s DTCS STCS LCS
  33. 33. 3.0 Preview
  34. 34. New Storage Engine Workloads Bytes
  35. 35. Hinted Handoff Improvements client p1 p1 p1 X
  36. 36. Hinted Handoff Improvements client p1 p1 p1 Hint
  37. 37. Hinted Handoff Improvements client p1 p1 p1 Handoff
  38. 38. SSTable-based Hints Hint Compacted Tombstone Memtable Commitlog SSTableCommitlog SSTable Memtable
  39. 39. File-based Hints Hint .168.101 Hint Hint Hint Hint Hint Hint Hint .168.104 Hint Hint Hint Hint Hint Hint Hint Hint .168.112 Hint Hint Hint Hint Hint Hint Hint Hint
  40. 40. File-based Hints .168.104 Hint Hint Hint Hint Hint Hint Hint Hint .168.112 Hint Hint Hint Hint Hint Hint Hint Hint
  41. 41. 3.0 2.2 2.2 Hints vs 3.0Operations/s Time
  42. 42. Materialized Views CREATE TABLE songs (
   id uuid PRIMARY KEY,
   title text,
   album text,
   artist text
 ); CREATE MATERIALIZED VIEW songs_by_album AS
 SELECT * FROM songs
 WHERE album IS NOT NULL
 PRIMARY KEY (album, id); SELECT * FROM songs_by_album
 WHERE album = ‘Tres Hombres’;
  43. 43. Indexes CREATE TABLE songs (
   id uuid PRIMARY KEY,
   title text,
   album text,
   artist text
 ); CREATE INDEX songs_by_album on songs(album); SELECT * FROM songs
 WHERE album = ‘Tres Hombres’;
  44. 44. Local Indexes client title artist album La Grange ZZ Top Tres Hombre s title artist album Outside... Back Door Slam Roll Away title artist album Waitin... ZZ Top Tres Hombres
  45. 45. Materialized Views client album id Tres Hombres a3e64f8f Tres Hombres 8a172618 album id Roll Away 2b09185b
  46. 46. Stress: raw vs 1 MV vs 5 MV Operations/s Time raw 1 MV 5 MV
  47. 47. mvbench, 4 denormalizations MV Manual Operations/s Time
  48. 48. Beyond 3.0
  49. 49. 3.x Development Process
  50. 50. 3.0 releases 3.0 rc1: Out now 3.0 GA October December 3.1 3.2 January February 3.3
  51. 51. 3.0 releases 3.0 rc1: Out now 3.0 GA October December 3.1 3.0.1 3.2 3.0.2 January February 3.3 3.0.3
  52. 52. Compatibility 3.0 3.1 3.2
  53. 53. DataStax Training for Apache Cassandra™

×