Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift...

96
Apache Cassandra Clients and Transports Thursday, February 28, 13

Transcript of Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift...

Page 1: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Apache Cassandra

Clients and Transports

Thursday, February 28, 13

Page 2: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Hi Folks!I’m Nate @zznate

Thursday, February 28, 13

Page 3: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

API ManagementAPI AnalyticsAPI Tools

Thursday, February 28, 13

Page 4: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Clients and transportsfor Cassandra

Thursday, February 28, 13

Page 5: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

But first... some questions

Thursday, February 28, 13

Page 6: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

But first: Architectural stuff

Thursday, February 28, 13

Page 7: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Cassandra:“Sparsely Columnar”

Thursday, February 28, 13

Page 8: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

An RDBMS table

Thursday, February 28, 13

Page 9: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

An RDBMS table

Thursday, February 28, 13

Page 10: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Cassandra Style

Thursday, February 28, 13

Page 11: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Cassandra Style

Thursday, February 28, 13

Page 12: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Cassandra data modelling

Thursday, February 28, 13

Page 13: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Four common patternsSimple object to simple rowSparse object to rowsMaterialized viewManual index

Thursday, February 28, 13

Page 14: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

simple objects to simple row

Thursday, February 28, 13

Page 15: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

“static” column family

Thursday, February 28, 13

Page 16: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Sparse Objects

Thursday, February 28, 13

Page 17: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

“dynamic” column family

Thursday, February 28, 13

Page 18: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Materialized Views

Thursday, February 28, 13

Page 19: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Materialized view

Thursday, February 28, 13

Page 20: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Regardless of the approached used, there are four overall goals

Thursday, February 28, 13

Page 21: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

1. Denormalize2. Eliminate seeks3. Design for read4. Optimiza for blind writes

Thursday, February 28, 13

Page 22: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Now... let’s talk about protocols

Thursday, February 28, 13

Page 23: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Thrift

Thursday, February 28, 13

Page 24: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

ThriftRPC-Based

Thursday, February 28, 13

Page 25: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

ThriftRPC-BasedMature Apache Project

Thursday, February 28, 13

Page 26: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

ThriftRPC-BasedMature Apache ProjectSupports lots of languages

Thursday, February 28, 13

Page 27: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

ThriftRPC-BasedMature Apache ProjectSupports lots of languagesExtensible!

Thursday, February 28, 13

Page 28: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

CQL

Thursday, February 28, 13

Page 29: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

CQLWell defined protocol

Thursday, February 28, 13

Page 30: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

CQLWell defined protocolSupports Compression

Thursday, February 28, 13

Page 31: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

CQLWell defined protocolSupports CompressionNetty/NIO-based

Thursday, February 28, 13

Page 32: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Storage Mechanics(but quickly)

Thursday, February 28, 13

Page 33: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

get_slice

Workhorse of Cassandra selection methods

Thursday, February 28, 13

Page 34: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

get_slice: key

The row key

Thursday, February 28, 13

Page 35: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

get_slice: ColumnParent

The column family (a.k.a table)

Thursday, February 28, 13

Page 36: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

get_slice: SlicePredicate

defines the column range, or specifically named columns

Thursday, February 28, 13

Page 37: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

get_slice:ConsistencyLevel

The level of consistency we want for this read

Thursday, February 28, 13

Page 38: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Obtuse at first glance, but nothing is hidden

Thursday, February 28, 13

Page 39: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

So...

Thursday, February 28, 13

Page 40: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

But one person’s abstraction leakage is another’s preffered model

Thursday, February 28, 13

Page 41: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

How closely do you want to interact with the underlying storage engine?

Thursday, February 28, 13

Page 42: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Client APIs

Thursday, February 28, 13

Page 43: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of thrift

Thursday, February 28, 13

Page 44: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of thriftMature selection of clients

Thursday, February 28, 13

Page 45: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of thriftMature selection of clientsMultiple languages

Thursday, February 28, 13

Page 46: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of thriftMature selection of clientsMultiple languagesWell documented

Thursday, February 28, 13

Page 47: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of thriftMature selection of clientsMultiple languagesWell documentedCan be used in other places

Thursday, February 28, 13

Page 48: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of thrift

Thursday, February 28, 13

Page 49: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of thriftSeveral objects are required for any request

Thursday, February 28, 13

Page 50: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of thriftSeveral objects are required for any requestClients differs in implementation

Thursday, February 28, 13

Page 51: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of thriftSeveral objects are required for any requestClients differs in implementationUpstream dependency issues

Thursday, February 28, 13

Page 52: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of thriftSeveral objects are required for any requestClients differs in implementationUpstream dependency issuesSchema changes and cluster health done pro-actively

Thursday, February 28, 13

Page 53: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of cql api

Thursday, February 28, 13

Page 54: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of cql apiStored procedures

Thursday, February 28, 13

Page 55: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of cql apiStored proceduresCommon operations are straight forward

Thursday, February 28, 13

Page 56: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of cql apiStored proceduresCommon operations are straight forward Cluster health and schema change push-back

Thursday, February 28, 13

Page 57: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Benefits of cql apiStored proceduresCommon operations are straight forward Cluster health and schema change push-backAwesome client available

Thursday, February 28, 13

Page 58: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of CQL apis

Thursday, February 28, 13

Page 59: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of CQL apisStill have idiomatic clients

Thursday, February 28, 13

Page 60: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of CQL apisStill have idiomatic clientsStill a binary protocol

Thursday, February 28, 13

Page 61: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Drawbacks of CQL apisStill have idiomatic clientsStill a binary protocolDefault storage model emposes substantial restrictions** see gotchas section later

Thursday, February 28, 13

Page 62: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Considerations for your app

Thursday, February 28, 13

Page 63: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Stick with Thrift if...

Thursday, February 28, 13

Page 64: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Heavy update workloads

Thursday, February 28, 13

Page 65: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Large, dynamic batch insertions

Thursday, February 28, 13

Page 66: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Hadoop integration(CASSANDRA-4421)

Thursday, February 28, 13

Page 67: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Commonly deal with very wide rows(CASSANDRA-4176)

Thursday, February 28, 13

Page 68: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

CASSANDRA-4176:“Pick your shard keys carefully”

Thursday, February 28, 13

Page 69: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Thursday, February 28, 13

Page 70: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Consider CQL if...

Thursday, February 28, 13

Page 71: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Static column family model:Take advantage of stored procedures for common reads

Thursday, February 28, 13

Page 72: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Despite the shard key jab, CQL makes good use of the storage model

Thursday, February 28, 13

Page 73: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

You can replace some custom serialization with collections

Thursday, February 28, 13

Page 74: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Integration with JDBC and/or BI tools

Thursday, February 28, 13

Page 75: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Wire efficient:Does not return timestamp or TTL by default

Thursday, February 28, 13

Page 76: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Larger, potentially more transient evironments

Thursday, February 28, 13

Page 77: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

But CQL is - new- an abstraction

Thursday, February 28, 13

Page 78: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

In some cases, CQL might not do what you think

Thursday, February 28, 13

Page 79: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Most common CQL pitfalls

Thursday, February 28, 13

Page 80: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Collections can only be retrieved in their entirety

Thursday, February 28, 13

Page 81: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Can’t mix static and dynamic data in a column family

Thursday, February 28, 13

Page 82: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

“keys only” range slices don’t work(CASSANDRA-4536)

Thursday, February 28, 13

Page 83: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Range ghosts will not be returned

Thursday, February 28, 13

Page 84: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Batch inserts are clunky(CASSANDRA-4693)

Thursday, February 28, 13

Page 85: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

With non-compact storage the whole row must be read every time.

Thursday, February 28, 13

Page 86: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

The take away is that you have options. Particularly good ones for Java.

Thursday, February 28, 13

Page 87: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Thursday, February 28, 13

Page 88: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

BUT

Thursday, February 28, 13

Page 89: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

there is a larger, more fundamental problem to discuss

Thursday, February 28, 13

Page 90: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

“If [they] think that CQL is the answer to usability then I just won. We at least know where our problems are.”- 10gen exec.

Thursday, February 28, 13

Page 91: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

The market has spoken and we missed the boat.

Thursday, February 28, 13

Page 92: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

POST /endpoint {json}

Thursday, February 28, 13

Page 93: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

A Cassandra-MVP actually maintains a REST front-end

Thursday, February 28, 13

Page 94: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

So we’ve taken this and gone further

Thursday, February 28, 13

Page 95: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

What if...

Thursday, February 28, 13

Page 96: Apache Cassandra Clients and Transportsarchive.apachecon.com/na2013/presentations/28... · Thrift RPC-Based Mature Apache Project Supports lots of languages Thursday, February 28,

Coming soon...Intravert. Vert.x+Cassandra.ASF-licensed.Driven by real-world requirements.

Thursday, February 28, 13