Submit Search
Upload
Cassandra SF 2013 - Cassandra Internals
•
11 likes
•
3,358 views
A
aaronmorton
Follow
Cassandra SF 2013 Conference - Cassandra Internals
Read less
Read more
Technology
Report
Share
Report
Share
1 of 61
Recommended
Sparkstreaming
Sparkstreaming
Marilyn Waldman
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
Docker, Inc.
Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置
YUCHENG HU
MySQL Galera 集群
MySQL Galera 集群
YUCHENG HU
Node.js streaming csv downloads proxy
Node.js streaming csv downloads proxy
Ismael Celis
Apache con 2011 gd
Apache con 2011 gd
Leif Hedstrom
LXC on Ganeti
LXC on Ganeti
kawamuray
Usenix lisa 2011
Usenix lisa 2011
Leif Hedstrom
Recommended
Sparkstreaming
Sparkstreaming
Marilyn Waldman
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
Docker, Inc.
Percona XtraDB 集群安装与配置
Percona XtraDB 集群安装与配置
YUCHENG HU
MySQL Galera 集群
MySQL Galera 集群
YUCHENG HU
Node.js streaming csv downloads proxy
Node.js streaming csv downloads proxy
Ismael Celis
Apache con 2011 gd
Apache con 2011 gd
Leif Hedstrom
LXC on Ganeti
LXC on Ganeti
kawamuray
Usenix lisa 2011
Usenix lisa 2011
Leif Hedstrom
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Gosuke Miyashita
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
guest1f2740
Ubic
Ubic
Vyacheslav Matyukhin
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Tom Croucher
Varnish 4 cool features
Varnish 4 cool features
Emanuelis Norbutas
Who is afraid of privileged containers ?
Who is afraid of privileged containers ?
Marko Bevc
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Tom Croucher
MySQL async message subscription platform
MySQL async message subscription platform
Louis liu
Cassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, Overview
Joshua McKenzie
Docker Swarm for Beginner
Docker Swarm for Beginner
Shahzad Masud
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
DongHyeon Kim
MySQL replication & cluster
MySQL replication & cluster
elliando dias
Commication Framework in OpenStack
Commication Framework in OpenStack
Sean Chang
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting
Open Source Consulting
[231] the simplicity of cluster apps with circuit
[231] the simplicity of cluster apps with circuit
NAVER D2
Cassandra Cluster Manager (CCM)
Cassandra Cluster Manager (CCM)
Chris Lohfink
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
Nicola Paolucci
Docker Swarm 0.2.0
Docker Swarm 0.2.0
Docker, Inc.
Ceph issue 해결 사례
Ceph issue 해결 사례
Open Source Consulting
Installation Openstack Swift
Installation Openstack Swift
ymtech
Cassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra Internals
DataStax
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
aaronmorton
More Related Content
What's hot
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Gosuke Miyashita
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
guest1f2740
Ubic
Ubic
Vyacheslav Matyukhin
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Tom Croucher
Varnish 4 cool features
Varnish 4 cool features
Emanuelis Norbutas
Who is afraid of privileged containers ?
Who is afraid of privileged containers ?
Marko Bevc
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Tom Croucher
MySQL async message subscription platform
MySQL async message subscription platform
Louis liu
Cassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, Overview
Joshua McKenzie
Docker Swarm for Beginner
Docker Swarm for Beginner
Shahzad Masud
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
DongHyeon Kim
MySQL replication & cluster
MySQL replication & cluster
elliando dias
Commication Framework in OpenStack
Commication Framework in OpenStack
Sean Chang
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting
Open Source Consulting
[231] the simplicity of cluster apps with circuit
[231] the simplicity of cluster apps with circuit
NAVER D2
Cassandra Cluster Manager (CCM)
Cassandra Cluster Manager (CCM)
Chris Lohfink
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
Nicola Paolucci
Docker Swarm 0.2.0
Docker Swarm 0.2.0
Docker, Inc.
Ceph issue 해결 사례
Ceph issue 해결 사례
Open Source Consulting
Installation Openstack Swift
Installation Openstack Swift
ymtech
What's hot
(20)
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Inside Sqale's Backend at Sapporo Ruby Kaigi 2012
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
Ubic
Ubic
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Varnish 4 cool features
Varnish 4 cool features
Who is afraid of privileged containers ?
Who is afraid of privileged containers ?
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
MySQL async message subscription platform
MySQL async message subscription platform
Cassandra 2.1 boot camp, Overview
Cassandra 2.1 boot camp, Overview
Docker Swarm for Beginner
Docker Swarm for Beginner
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
MySQL replication & cluster
MySQL replication & cluster
Commication Framework in OpenStack
Commication Framework in OpenStack
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting
[231] the simplicity of cluster apps with circuit
[231] the simplicity of cluster apps with circuit
Cassandra Cluster Manager (CCM)
Cassandra Cluster Manager (CCM)
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
Docker Swarm 0.2.0
Docker Swarm 0.2.0
Ceph issue 해결 사례
Ceph issue 해결 사례
Installation Openstack Swift
Installation Openstack Swift
Similar to Cassandra SF 2013 - Cassandra Internals
Cassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra Internals
DataStax
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
aaronmorton
C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals
DataStax Academy
Apache Con NA 2013 - Cassandra Internals
Apache Con NA 2013 - Cassandra Internals
aaronmorton
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performance
aaronmorton
Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0
Alexander DEJANOVSKI
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
DataStax Academy
Dive into Spark Streaming
Dive into Spark Streaming
Gerard Maas
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
Amazon Web Services
Cassandra Internals Overview
Cassandra Internals Overview
beobal
Apache cassandra
Apache cassandra
Muralidharan Deenathayalan
Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1
Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1
DataStax Academy
Big data lambda architecture - Streaming Layer Hands On
Big data lambda architecture - Streaming Layer Hands On
hkbhadraa
Data Stores @ Netflix
Data Stores @ Netflix
Vinay Kumar Chella
Virtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in Cassandra
Eric Evans
C* Summit 2013: Virtual Nodes: Rethinking Topology in Cassandra by Eric Evans
C* Summit 2013: Virtual Nodes: Rethinking Topology in Cassandra by Eric Evans
DataStax Academy
Learning spark ch10 - Spark Streaming
Learning spark ch10 - Spark Streaming
phanleson
DevOps Days Tel Aviv - Serverless Architecture
DevOps Days Tel Aviv - Serverless Architecture
Antons Kranga
Zing - Performance Brief - Cassandra
Zing - Performance Brief - Cassandra
Luciano N. Dolenc
GumGum: Multi-Region Cassandra in AWS
GumGum: Multi-Region Cassandra in AWS
DataStax Academy
Similar to Cassandra SF 2013 - Cassandra Internals
(20)
Cassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
Cassandra Community Webinar - August 22 2013 - Cassandra Internals
C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals
Apache Con NA 2013 - Cassandra Internals
Apache Con NA 2013 - Cassandra Internals
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Apache Cassandra in Bangalore - Cassandra Internals and Performance
Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Dive into Spark Streaming
Dive into Spark Streaming
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
Cassandra Internals Overview
Cassandra Internals Overview
Apache cassandra
Apache cassandra
Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1
Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1
Big data lambda architecture - Streaming Layer Hands On
Big data lambda architecture - Streaming Layer Hands On
Data Stores @ Netflix
Data Stores @ Netflix
Virtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in Cassandra
C* Summit 2013: Virtual Nodes: Rethinking Topology in Cassandra by Eric Evans
C* Summit 2013: Virtual Nodes: Rethinking Topology in Cassandra by Eric Evans
Learning spark ch10 - Spark Streaming
Learning spark ch10 - Spark Streaming
DevOps Days Tel Aviv - Serverless Architecture
DevOps Days Tel Aviv - Serverless Architecture
Zing - Performance Brief - Cassandra
Zing - Performance Brief - Cassandra
GumGum: Multi-Region Cassandra in AWS
GumGum: Multi-Region Cassandra in AWS
More from aaronmorton
Cassandra South Bay Meetup - Backup And Restore For Apache Cassandra
Cassandra South Bay Meetup - Backup And Restore For Apache Cassandra
aaronmorton
Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
aaronmorton
Cassandra Day Atlanta 2016 - Monitoring Cassandra
Cassandra Day Atlanta 2016 - Monitoring Cassandra
aaronmorton
Cassandra London March 2016 - Lightening talk - introduction to incremental ...
Cassandra London March 2016 - Lightening talk - introduction to incremental ...
aaronmorton
Cassandra SF 2015 - Repeatable, Scalable, Reliable, Observable Cassandra
Cassandra SF 2015 - Repeatable, Scalable, Reliable, Observable Cassandra
aaronmorton
Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL
Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL
aaronmorton
Cassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large Nodes
aaronmorton
Cassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break Glass
Cassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break Glass
aaronmorton
Cassandra SF 2013 - In Case Of Emergency Break Glass
Cassandra SF 2013 - In Case Of Emergency Break Glass
aaronmorton
Cassandra Community Webinar - Introduction To Apache Cassandra 1.2
Cassandra Community Webinar - Introduction To Apache Cassandra 1.2
aaronmorton
Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance
aaronmorton
Hello @world #cassandra
Hello @world #cassandra
aaronmorton
Cassandra does what ? Code Mania 2012
Cassandra does what ? Code Mania 2012
aaronmorton
Nzpug welly-cassandra-02-12-2010
Nzpug welly-cassandra-02-12-2010
aaronmorton
Introduction to Cassandra
Introduction to Cassandra
aaronmorton
Building a distributed Key-Value store with Cassandra
Building a distributed Key-Value store with Cassandra
aaronmorton
Cassandra - Wellington No Sql
Cassandra - Wellington No Sql
aaronmorton
More from aaronmorton
(17)
Cassandra South Bay Meetup - Backup And Restore For Apache Cassandra
Cassandra South Bay Meetup - Backup And Restore For Apache Cassandra
Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
Cassandra Day Atlanta 2016 - Monitoring Cassandra
Cassandra Day Atlanta 2016 - Monitoring Cassandra
Cassandra London March 2016 - Lightening talk - introduction to incremental ...
Cassandra London March 2016 - Lightening talk - introduction to incremental ...
Cassandra SF 2015 - Repeatable, Scalable, Reliable, Observable Cassandra
Cassandra SF 2015 - Repeatable, Scalable, Reliable, Observable Cassandra
Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL
Cassandra sf 2015 - Steady State Data Size With Compaction, Tombstones, and TTL
Cassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large Nodes
Cassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break Glass
Cassandra Community Webinar August 29th 2013 - In Case Of Emergency, Break Glass
Cassandra SF 2013 - In Case Of Emergency Break Glass
Cassandra SF 2013 - In Case Of Emergency Break Glass
Cassandra Community Webinar - Introduction To Apache Cassandra 1.2
Cassandra Community Webinar - Introduction To Apache Cassandra 1.2
Cassandra SF 2012 - Technical Deep Dive: query performance
Cassandra SF 2012 - Technical Deep Dive: query performance
Hello @world #cassandra
Hello @world #cassandra
Cassandra does what ? Code Mania 2012
Cassandra does what ? Code Mania 2012
Nzpug welly-cassandra-02-12-2010
Nzpug welly-cassandra-02-12-2010
Introduction to Cassandra
Introduction to Cassandra
Building a distributed Key-Value store with Cassandra
Building a distributed Key-Value store with Cassandra
Cassandra - Wellington No Sql
Cassandra - Wellington No Sql
Recently uploaded
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Softradix Technologies
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
2toLead Limited
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
XfilesPro
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
OnBoard
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Alan Dix
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
soniya singh
Recently uploaded
(20)
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
Cassandra SF 2013 - Cassandra Internals
1.
CASSANDRA SF 2013 CASSANDRA INTERNALS Aaron
Morton @aaronmorton www.thelastpickle.com #Cassandra13 Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License
2.
About Me Freelance Cassandra
Consultant Based in Wellington, New Zealand Apache Cassandra Committer #Cassandra13
3.
Architecture Code #Cassandra13
4.
Cassandra Architecture API's Cluster Aware Cluster
Unaware Clients Disk #Cassandra13
5.
Cassandra Cluster Architecture API's Cluster
Aware Cluster Unaware Clients Disk API's Cluster Aware Cluster Unaware Disk Node 1 Node 2 #Cassandra13
6.
Dynamo Cluster Architecture API's Dynamo Database Clients Disk API's Dynamo Database Disk Node
1 Node 2 #Cassandra13
7.
Architecture API Dynamo Database #Cassandra13
8.
APITransports Thrift Native Binary #Cassandra13
9.
ThriftTransport //Custom TServer implementations o.a.c.thrift.CustomTThreadPoolServer o.a.c.thrift.CustomTNonBlockingServer o.a.c.thrift.CustomTHsHaServer #Cassandra13
10.
APITransports Thrift Native Binary #Cassandra13
11.
Native BinaryTransport Beta in
Cassandra 1.2 Uses Netty Enabled with start_native_transport (Disabled by default) #Cassandra13
12.
o.a.c.transport.Server.run() //Setup the Netty
server new ExecutionHandler() new NioServerSocketChannelFactory() ServerBootstrap.setPipelineFactory() #Cassandra13
13.
o.a.c.transport.Message.Dispatcher.messageReceived() //Process message from
client ServerConnection.validateNewMessage() Request.execute() ServerConnection.applyStateTransition() Channel.write() #Cassandra13
14.
Messages Defined in the
Native Binary Protocol $SRC/doc/native_protocol.spec #Cassandra13
15.
API Services JMX Thrift CQL 3 #Cassandra13
16.
JMX Management Beans Spread
around the code base. Interfaces named *MBean #Cassandra13
17.
JMX Management Beans Registered
with names such as org.apache.cassandra.db: type=StorageProxy #Cassandra13
18.
API Services JMX Thrift CQL 3 #Cassandra13
19.
o.a.c.thrift.CassandraServer // Implements Thrift
Interface // Access control // Input validation // Mapping to/from Thrift and internal types #Cassandra13
20.
Thrift Interface Thrift IDL $SRC/interface/cassandra.thrift #Cassandra13
21.
o.a.c.thrift.CassandraServer.get_slice() // get columns
for one row Tracing.begin() ClientState cState = state() cState.hasColumnFamilyAccess() multigetSliceInternal() #Cassandra13
22.
CassandraServer.multigetSliceInternal() // get columns
for may rows ThriftValidation.validate*() // Create ReadCommands getSlice() #Cassandra13
23.
CassandraServer.getSlice() // Process ReadCommands //
return Thrift types readColumnFamily() thriftifyColumnFamily() #Cassandra13
24.
CassandraServer.readColumnFamily() // Process ReadCommands //
Return ColumnFamilies StorageProxy.read() #Cassandra13
25.
API Services JMX Thrift CQL 3 #Cassandra13
26.
o.a.c.cql3.QueryProcessor // Prepares and
executes CQL3 statements // Used by Thrift & Native transports // Access control // Input validation // Returns transport.ResultMessage #Cassandra13
27.
CQL3 Grammar ANTLR Grammar $SRC/o.a.c.cql3/Cql.g #Cassandra13
28.
o.a.c.cql3.statements.ParsedStatement // Subclasses generated
by ANTLR // Tracks bound term count // Prepare CQLStatement prepare() #Cassandra13
29.
o.a.c.cql3.statements.CQLStatement checkAccess(ClientState state) validate(ClientState state) execute(ConsistencyLevel
cl, QueryState state, List<ByteBuffer> variables) #Cassandra13
30.
statements.SelectStatement.RawStatement // Implements ParsedStatement //
Input validation prepare() #Cassandra13
31.
statements.SelectStatement.execute() // Create ReadCommands StorageProxy.read() #Cassandra13
32.
Architecture API Dynamo Database #Cassandra13
33.
Dynamo Layer o.a.c.service o.a.c.net o.a.c.dht o.a.c.gms o.a.c.locator o.a.c.stream #Cassandra13
34.
o.a.c.service.StorageProxy // Cluster wide
storage operations // Select endpoints & check CL available // Send messages to Stages // Wait for response // Store Hints #Cassandra13
35.
o.a.c.service.StorageService // Ring operations //
Track ring state // Start & stop ring membership // Node & token queries #Cassandra13
36.
o.a.c.service.IResponseResolver preprocess(MessageIn<T> message) resolve() throws DigestMismatchException RowDigestResolver RowDataResolver RangeSliceResponseResolver #Cassandra13
37.
Response Handlers /
Callback implements IAsyncCallback<T> response(MessageIn<T> msg) #Cassandra13
38.
o.a.c.service.ReadCallback.get() //Wait for blockfor
& data condition.await(timeout, TimeUnit.MILLISECONDS) throw ReadTimeoutException() resolver.resolve() #Cassandra13
39.
o.a.c.service.StorageProxy.fetchRows() getLiveSortedEndpoints() new RowDigestResolver() new ReadCallback() MessagingService.sendRR() --------------------------------------- ReadCallback.get()
# blocking catch (DigestMismatchException ex) catch (ReadTimeoutException ex) #Cassandra13
40.
Dynamo Layer o.a.c.service o.a.c.net o.a.c.dht o.a.c.gms o.a.c.locator o.a.c.stream #Cassandra13
41.
o.a.c.net.MessagingService.verb<<enum>> MUTATION READ REQUEST_RESPONSE TREE_REQUEST TREE_RESPONSE (And more...) #Cassandra13
42.
o.a.c.net.MessagingService.verbHandlers new EnumMap<Verb, IVerbHandler>(Verb.class) #Cassandra13
43.
o.a.c.net.IVerbHandler<T> doVerb(MessageIn<T> message, String id); #Cassandra13
44.
o.a.c.net.MessagingService.verbStages new EnumMap<MessagingService.Verb, Stage>(MessagingService.Verb.class) #Cassandra13
45.
o.a.c.net.MessagingService.receive() runnable = new
MessageDeliveryTask( message, id, timestamp); StageManager.getStage( message.getMessageType()); stage.execute(runnable); #Cassandra13
46.
o.a.c.net.MessageDeliveryTask.run() // If dropable
and rpc_timeout MessagingService.incrementDroppedMessag es(verb); MessagingService.getVerbHandler(verb) verbHandler.doVerb(message, id) #Cassandra13
47.
Architecture API Layer Dynamo Layer Database
Layer #Cassandra13
48.
Database Layer o.a.c.concurrent o.a.c.db o.a.c.cache o.a.c.io o.a.c.trace #Cassandra13
49.
o.a.c.concurrent.StageManager stages = new
EnumMap<Stage, ThreadPoolExecutor>(Stage.class); getStage(Stage stage) #Cassandra13
50.
o.a.c.concurrent.Stage READ MUTATION GOSSIP REQUEST_RESPONSE ANTI_ENTROPY (And more...) #Cassandra13
51.
Database Layer o.a.c.concurrent o.a.c.db o.a.c.cache o.a.c.io o.a.c.trace #Cassandra13
52.
o.a.c.db.Table // Keyspace open(String table) getColumnFamilyStore(String
cfName) getRow(QueryFilter filter) apply(RowMutation mutation, boolean writeCommitLog) #Cassandra13
53.
o.a.c.db.ColumnFamilyStore // Column Family getColumnFamily(QueryFilter
filter) getTopLevelColumns(...) apply(DecoratedKey key, ColumnFamily columnFamily, SecondaryIndexManager.Updater indexer) #Cassandra13
54.
o.a.c.db.IColumnContainer addColumn(IColumn column) remove(ByteBuffer columnName) ColumnFamily SuperColumn #Cassandra13
55.
o.a.c.db.ISortedColumns addColumn(IColumn column, Allocator allocator) removeColumn(ByteBuffer
name) ArrayBackedSortedColumns AtomicSortedColumns TreeMapBackedSortedColumns #Cassandra13
56.
o.a.c.db.Memtable put(DecoratedKey key, ColumnFamily columnFamily, SecondaryIndexManager.Updater indexer) flushAndSignal(CountDownLatch
latch, Future<ReplayPosition> context) #Cassandra13
57.
o.a.c.db.ReadCommand getRow(Table table) SliceByNamesReadCommand SliceFromReadCommand #Cassandra13
58.
o.a.c.db.IDiskAtomFilter getMemtableColumnIterator(...) getSSTableColumnIterator(...) IdentityQueryFilter NamesQueryFilter SliceQueryFilter #Cassandra13
59.
Summary CustomTThreadPoolServer Message.Dispatcher CassandraServer QueryProcessor ReadCommand StorageProxy IResponseResolver IAsyncCallback MessagingService IVerbHandler Table
ColumnFamilyStore IDiskAtomFilter API Dynamo Database #Cassandra13
60.
Thanks. #Cassandra13
61.
Aaron Morton @aaronmorton www.thelastpickle.com Licensed under
a Creative Commons Attribution-NonCommercial 3.0 New Zealand License