SlideShare uma empresa Scribd logo
1 de 83
Baixar para ler offline
#CASSANDRASUMMIT 
LESSER KNOWN FEATURES 
OF CASSANDRA 2.1 
Aaron Morton 
@aaronmorton 
Co-Founder & Principal Consultant 
Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License
About The Last Pickle. 
! 
Work with clients to deliver and improve Apache Cassandra 
based solutions. 
Apache Cassandra Committer, DataStax MVP, Hector 
Maintainer, Apache Usergrid Committer. 
Based in New Zealand & USA.
Configuration 
CQL3 
Tools 
Internals
Change Logging to Logback (CASSANDRA-5883) 
Faster 
Auto Reloading 
Auto Archiving 
logback.xml
Change Logging to Logback (CASSANDRA-5883) 
<appender name="FILE" 
class="ch.qos.logback.core.rolling.RollingFileAppender"> 
<file>${cassandra.logdir}/system.log</file> 
<rollingPolicy 
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
<fileNamePattern>${cassandra.logdir}/system.log.%i.zip</ 
fileNamePattern> 
<minIndex>1</minIndex> 
<maxIndex>20</maxIndex> 
</rollingPolicy> 
</appender> 
! 
<logger name=“org.apache.cassandra.Foo” level="ERROR"/>
Change Logging to Logback (CASSANDRA-5883) 
TIP: Change compression so 
zless and zgrep work. 
! 
${cassandra.logdir}/system.log.%i.gz
Change Logging to Logback (CASSANDRA-5883) 
$ ls -lah logs/ 
963K system.log 
129K system.log.1.gz 
158K system.log.2.gz 
158K system.log.3.gz 
158K system.log.4.gz 
158K system.log.5.gz 
158K system.log.6.gz 
158K system.log.7.gz 
158K system.log.8.gz 
157K system.log.9.gz
Command Line Parameters
New Default Paths (CASSANDRA-7136) 
// bin/cassandra.in.sh 
CASSANDRA_HOME="`dirname "$0"`/.." 
cassandra_storagedir=“$CASSANDRA_HOME/data" 
! 
// bin/cassandra 
-Dcassandra.logdir=$CASSANDRA_HOME/logs" 
-Dcassandra.storagedir=$cassandra_storagedir"
New Default Paths (CASSANDRA-7136) 
No change for package installs. 
! 
Leave YAML settings blank for 
new defaults.
New Default Paths (CASSANDRA-7136) 
$ ls -lh cassandra/v2.1/ 
-rw-r--r--@ CHANGES.txt 
-rw-r--r--@ LICENSE.txt 
-rw-r--r--@ NEWS.txt 
-rw-r--r--@ NOTICE.txt 
drwxr-xr-x@ bin 
drwxr-xr-x@ conf 
drwxr-xr-x data 
drwxr-xr-x@ lib 
drwxr-xr-x logs 
drwxr-xr-x@ pylib 
drwxr-xr-x@ tools
New Default Paths (CASSANDRA-7136) 
$ ls -lah cassandra/ 
drwxr-xr-x@ apache-cassandra-1.0.12 
drwxr-xr-x@ apache-cassandra-1.1.12 
drwxr-xr-x@ apache-cassandra-1.2.18 
drwxr-xr-x@ apache-cassandra-2.0.10 
drwxr-xr-x@ apache-cassandra-2.1.0-rc7 
lrwxr-xr-x current -> v2.0/ 
lrwxr-xr-x v1.0 -> apache-cassandra-1.0.12 
lrwxr-xr-x v1.1 -> apache-cassandra-1.1.12 
lrwxr-xr-x v1.2 -> apache-cassandra-1.2.18/ 
lrwxr-xr-x v2.0 -> apache-cassandra-2.0.10 
lrwxr-xr-x v2.1 -> apache-cassandra-2.1.0-rc7
Custom Configuration Loader (CASSANDRA-5045) 
-Dcassandra.config.loader 
! 
Provide a custom class that 
implements 
o.a.c.config.ConfigurationLoader.
Custom Configuration Loader (CASSANDRA-5045) 
Useful when embedding or storing 
configuration elsewhere.
Add QueryHandler Interface (CASSANDRA-6659) 
-Dcassandra.custom_query_handler_class 
! 
Provide a custom class that 
implements 
o.a.c.cql3.QueryHandler.
Add QueryHandler Interface (CASSANDRA-6659) 
Custom implementation to handle 
all CQL3 queries. 
! 
For example logging, slow query log, 
stubbing Cassandra.
Add QueryHandler Interface (CASSANDRA-6659) 
public interface QueryHandler 
{ 
ResultMessage process(String query, QueryState state,…); 
! 
ResultMessage.Prepared prepare(String query, QueryState state); 
! 
ParsedStatement.Prepared getPrepared(MD5Digest id); 
! 
CQLStatement getPreparedForThrift(Integer id); 
! 
ResultMessage processPrepared(CQLStatement statement, …); 
! 
ResultMessage processBatch(BatchStatement statement, …);
Pluggable o.a.c.metrics Reporters (CASSANDRA-4430) 
! 
-Dcassandra.metricsReporterConfigFile 
! 
https://github.com/addthis/metrics-reporter- 
config
Pluggable o.a.c.metrics Reporters (CASSANDRA-4430) 
Reporters push metrics to 
Graphite, Ganglia, Riemann 
etc.
Pluggable o.a.c.metrics Reporters (CASSANDRA-4430) 
riemann: 
- 
period: 1 
timeunit: 'SECONDS' 
hosts: 
- host: 'localhost' 
port: 5555 
predicate: 
color: "white" 
useQualifiedName: true 
patterns: 
- "^org.apache.cassandra.metrics.ClientRequest.+" 
- "^org.apache.cassandra.metrics.DroppedMessage.+"
Selective Commit Log Replay (CASSANDRA-4809) 
-Dcassandra.replayList 
! 
-Dcassandra.replayList=Foo.Bar,…
Selective Commit Log Replay (CASSANDRA-4809) 
Use for selective Point in Time 
recovery using Commit Log 
Archiving.
Add Option To Disable STCS In L0 (CASSANDRA-6621) 
! 
-Dcassandra.disable_stcs_in_l0 
! 
May be useful when 
Bootstrapping.
Use JMX_PORT For The RMI Port (CASSANDRA-7087) 
! 
// conf/cassandra-env.sh 
-Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT
YAML Configuration
Enabled Hints Per Data Center (CASSANDRA-6157) 
! 
hinted_handoff_enabled: DC1,DC2 
! 
Disable Hints for a troubled 
DC. 
! 
!
Add Paranoid Disk Failure Option (CASSANDRA-6646) 
! 
disk_failure_policy: stop_paranoid 
! 
Implement STOP behaviour 
for CorruptSSTableException.
Commit Log Failure Handling (CASSANDRA-6364) 
! 
commit_failure_policy: stop 
!
Commit Log Failure Handling (CASSANDRA-6364) 
! 
ERROR [PERIODIC-COMMIT-LOG-SYNCER] 2014-… CommitLog.java:350 - 
Failed to persist commits to disk. Commit disk failure policy is 
stop; terminating thread 
! 
java.io.IOException: Something broke. 
at org.apache.cassandra.db.commitlog.AbstractCommitLogService 
$1.run(AbstractCommitLogService.java:123) 
at java.lang.Thread.run(Thread.java:744)
Add file_cache_size_in_mb setting (CASSANDRA-5661) 
! 
# Total memory to use for sstable-reading buffers. 
# Defaults to 
# the smaller of 1/4 of heap or 512MB 
# file_cache_size_in_mb: 512
Add file_cache_size_in_mb setting (CASSANDRA-5661) 
File Readers have a 64 KB 
buffer. 
Compressed File Readers have 
two 64 KB buffers.
Add file_cache_size_in_mb setting (CASSANDRA-5661) 
Discard cached file readers 
512ms after last access for a 
file.
Add file_cache_size_in_mb setting (CASSANDRA-5661) 
Maintain a maximum 
combined buffer size for all file 
readers.
Improve 2.1 flush defaults (CASSANDRA-7551) 
! 
# memtable_flush_writers defaults to the smaller of (number of 
# disks, number of cores), with a minimum of 2 and a maximum of 8. 
# 
# If your data directories are backed by SSD, you should increase 
# this to the number of cores. 
# memtable_flush_writers: 8
New concurrent_compactors Defaults (CASSANDRA-7139) 
! 
# concurrent_compactors defaults to the smaller of (number 
# of disks, number of cores), with a minimum of 2 and a 
# maximum of 8. 
# 
# If your data directories are backed by SSD, you should 
# increase this to the number of cores. 
# concurrent_compactors: 1
Throw Error When Frame Too Large (CASSANDRA-5981) 
! 
# native_transport_max_frame_size_in_mb: 256 
! 
Improves Existing Behaviour, 
InvalidRequestException now 
thrown.
Add broadcast_rpc_address Option (CASSANDRA-5899) 
! 
broadcast_rpc_address: 1.2.3.4 
! 
Broadcast to clients via node 
discovery.
Add listen_interface and rpc_interface (CASSANDRA-7417) 
! 
rpc_interface: eth1 
! 
listen_interface: eth0
Add listen_interface and rpc_interface (CASSANDRA-7417) 
Must have a only one IP 
Address.
Drop queries reading many Tombstones (CASSANDRA-6117) 
Replaces 
tombstone_debug_threshold
Drop queries reading many Tombstones (CASSANDRA-6117) 
! 
tombstone_warn_threshold: 1000
Drop queries reading many Tombstones (CASSANDRA-6117) 
WARN [main] … 
! 
SliceQueryFilter.java:236 - Read 2 live and 4 
tombstoned cells in system.schema_columnfamilies (see 
tombstone_warn_threshold). 2147483631 columns was 
requested, slices=[-], 
delInfo={deletedAt=-9223372036854775808, 
localDeletion=2147483647}
Drop query that using Tombstones (CASSANDRA-6117) 
! 
tombstone_failure_threshold: 100000
Drop query that using Tombstones (CASSANDRA-6117) 
! 
ERROR [SharedPool-Worker-7] … 
! 
SliceQueryFilter.java:212 - Scanned 
over 100000 tombstones in 
system.schema_columns; query aborted 
(see tombstone_fail_threshold)
Log a Warning for Large Batches (CASSANDRA-6487) 
! 
batch_size_warn_threshold_in_kb: 5
Log a Warning for Large Batches (CASSANDRA-6487) 
! 
WARN [Native-Transport-Requests:553]… 
! 
BatchStatement.java (line 228) Batch of prepared 
statements for 
[Keyspace1.Standard1] is of size 6165, 
exceeding specified threshold of 5120 by 1045.
Preemptive opening compaction result (CASSANDRA-6916) 
Replaces 
compaction_preheat_key_cache: true, 
preheat_kernel_page_cache: false 
and 
populate_io_cache_on_flush 
table property.
Preemptive opening compaction result (CASSANDRA-6916) 
With 
sstable_preemptive_open_interval_in_mb: 50
Preemptive opening compaction result (CASSANDRA-6916) 
Pre heats Key Cache and IO 
Cache, and reads from partial 
SSTables.
Throttle Inter-DC Streaming Traffic (CASSANDRA-6596) 
! 
inter_dc_stream_throughput_outbound_megabits_per_sec: 0 
Applied after 
stream_throughput_outbound_megabits_per_sec: 200
Configuration 
CQL3 
Tools 
Internals
Alias Support For SELECT Statement (CASSANDRA-5075) 
! 
cqlsh:dev> select foo as total_foo from foo; 
! 
total_foo 
----------- 
bar 
baz 
! 
(2 rows)
An Official Way To Disable Compaction (CASSANDRA-5074) 
! 
create table no_compaction_for_you ( 
foo text, 
bar text, 
primary key (foo, bar) 
) with 
compaction = 
{ 
'enabled' : false, 
'class' : 'SizeTieredCompactionStrategy' 
};
Aggressive Tombstone Compactions (CASSANDRA-6563) 
! 
CREATE TABLE foo ( 
foo text primary key, 
bar text 
) WITH 
compaction = 
{ 
'class' : 'SizeTieredCompactionStrategy', 
'unchecked_tombstone_compaction' : 'true' 
};
Aggressive Tombstone Compactions (CASSANDRA-6563) 
Disables check for other row 
fragments.
Configuration 
CQL3 
Tools 
Internals
cqlsh
Pass cqlsh Statements via Command Line CASSANDRA-7172 
! 
bin/cqlsh --execute="select distinct foo from dev.foo;" 
! 
foo 
------- 
three 
one 
five 
two 
four 
! 
(5 rows)
Include CQL in Error Messages (CASSANDRA-7111) 
! 
cqlsh:dev> SELECT foo bar from foo; 
! 
<ErrorMessage code=2000 [Syntax error in CQL query] 
message="line 1:11 no viable alternative at input 'bar'"> 
cqlsh:dev> 
!
nodetool
Set & Get Logging Levels via nodetool (CASSANDRA-7090) 
! 
nodetool getlogginglevels 
Logger Name Log Level 
ROOT INFO 
com.thinkaurelius.thrift ERROR 
! 
nodetool setlogginglevel org.apache.cassandra.db.Row DEBUG 
! 
nodetool getlogginglevels 
Logger Name Log Level 
ROOT INFO 
com.thinkaurelius.thrift ERROR 
org.apache.cassandra.db.Row DEBUG
Add listsnapshots To nodetool (CASSANDRA-5742) 
! 
nodetool listsnapshots 
! 
Snapshot Details: 
Snapshot name Keyspace name Column family True size Size on disk 
pre-migration Keyspace1 Standard1 508.03 MB 555.59 MB 
all-good Keyspace1 Standard1 549.01 MB 803.68 MB 
! 
Total TrueDiskSpaceUsed: 1.03 GB
Add Snapshot Space Used To cfstats (CASSANDRA-6231) 
! 
Table: Standard1 
SSTable count: 4 
Space used (live), bytes: 76875505 
Space used (total), bytes: 76875505 
Space used by snapshots (total), bytes: 1108391939
Save Compaction History (CASSANDRA-5078) 
! 
nodetool compactionhistory 
! 
id keyspace columnfamily compacted_at bytes_in bytes_out 
31...9d Keyspace1 Standard1 1410287780455 488451903 174360500 
51...9d Keyspace1 Standard1 1410287834272 527847260 256812363
Repairing Between Specific Replicas (CASSANDRA-6440) 
! 
nodetool repair 
[(-dc <specific_dc> | --in-dc <specific_dc>)...] 
[(-hosts <specific_host> | --in-hosts <specific_host>)]
Reset SSTable LCS Compaction Level (CASSANDRA-5271) 
! 
sstablelevelreset --really-reset Keyspace1 Standard1 
! 
! 
Changing level from 1 to 0 on …/Keyspace1-Standard1-ka-35-Data.db 
! 
Skipped .../Keyspace1-Standard1-ka-33-Data.db since it is already 
on level 0 
! 
Changing level from 1 to 0 on …/Keyspace1-Standard1-ka-32-Data.db 
! 
Skipped .../Keyspace1-Standard1-ka-34-Data.db since it is already 
on level 0 
!
Configuration 
Schema 
Tools 
Internals
Promote Partition Index (CASSANDRA-2319) 
Index of Cells created when 
partition is larger than 
column_index_size_in_kb 
(64).
Promote Partition Index (CASSANDRA-2319) 
Column Index promoted into 
the Key Cache. 
Improves reading from wide 
Partitions.
Remove Keyspace.switchLock (CASSANDRA-5549) 
Removed 
memtable_flush_queue_size 
Added 
memtable_cleanup_threshold
Remove Keyspace.switchLock (CASSANDRA-5549) 
When the Flush Queue was 
full Mutations would be 
blocked. 
(Blocked FlushWriter tasks.)
Unique Column Family Directories (CASSANDRA-5202) 
Prevents “re-using”data from 
dropped Column Families.
Unique Column Family Directories (CASSANDRA-5202) 
ls -lah data/data/Keyspace1/ 
! 
drwxr-xr-x Counter1-89df6990386511e48bb41d4c6fbb569d 
drwxr-xr-x Counter3-89f20730386511e48bb41d4c6fbb569d 
drwxr-xr-x Standard1-89df4280386511e48bb41d4c6fbb569d
Specify Cells To Cache Per Row (CASSANDRA-5357) 
create table row_cache ( 
foo text, 
bar text, 
primary key (foo, bar) 
) with 
rows_per_partition_to_cache = 10;
Use hibernate when join_ring is false (CASSANDRA-6961) 
Use when returning a node 
that as been down for longer 
than the Hint window.
Use hibernate when join_ring is false (CASSANDRA-6961) 
nodetool join
Add Manifest Describing Snapshot Files (CASSANDRA-6326) 
! 
{ 
"files": [ 
"Keyspace1-Standard1-ka-1-Data.db", 
"Keyspace1-Standard1-ka-3-Data.db", 
"Keyspace1-Standard1-ka-2-Data.db", 
"Keyspace1-Standard1-ka-5-Data.db", 
"Keyspace1-Standard1-ka-4-Data.db" 
] 
}
Track min/max Clustered Values (CASSANDRA-5514) 
! 
CREATE TABLE temperature 
( 
weatherstation_id text, 
event_time timestamp, 
temperature text, 
PRIMARY KEY (weatherstation_id,event_time) 
);
Track min/max Clustered Values (CASSANDRA-5514) 
! 
SELECT 
event_time, temperature 
FROM 
temperature 
WHERE 
weatherstation_id='1234ABCD' 
AND 
event_time >= '2013-04-03 07:01:00' 
AND 
event_time <= '2013-04-03 07:04:00';
Track min/max Clustered Values (CASSANDRA-5514) 
Skips SSTables that will not 
contain relevant data.
The Take Away 
Use Cassandra v2.0.10 
! 
Get testing on v2.1.0
Thanks. 
#CASSANDRASUMMIT 
!
Aaron Morton 
@aaronmorton 
! 
Co-Founder & Principal Consultant 
www.thelastpickle.com 
! 
Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License

Mais conteúdo relacionado

Mais procurados

Cassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWSCassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWSDataStax Academy
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDSDenish Patel
 
Cassandra Troubleshooting for 2.1 and later
Cassandra Troubleshooting for 2.1 and laterCassandra Troubleshooting for 2.1 and later
Cassandra Troubleshooting for 2.1 and laterJ.B. Langston
 
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...DataStax
 
Advanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXAdvanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXzznate
 
AddThis: Scaling Cassandra up and down into containers with ZFS
AddThis: Scaling Cassandra up and down into containers with ZFSAddThis: Scaling Cassandra up and down into containers with ZFS
AddThis: Scaling Cassandra up and down into containers with ZFSDataStax Academy
 
Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...
Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...
Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...DataStax
 
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance BarriersCeph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance BarriersCeph Community
 
Cassandra at Instagram (August 2013)
Cassandra at Instagram (August 2013)Cassandra at Instagram (August 2013)
Cassandra at Instagram (August 2013)Rick Branson
 
Scaling Cassandra for Big Data
Scaling Cassandra for Big DataScaling Cassandra for Big Data
Scaling Cassandra for Big DataDataStax Academy
 
PagerDuty: One Year of Cassandra Failures
PagerDuty: One Year of Cassandra FailuresPagerDuty: One Year of Cassandra Failures
PagerDuty: One Year of Cassandra FailuresDataStax Academy
 
San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...
San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...
San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...DataStax Academy
 
Cassandra in Operation
Cassandra in OperationCassandra in Operation
Cassandra in Operationniallmilton
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleAlex Thompson
 
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...DataStax
 
DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...
DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...
DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...DataStax
 
Cassandra summit 2013 how not to use cassandra
Cassandra summit 2013  how not to use cassandraCassandra summit 2013  how not to use cassandra
Cassandra summit 2013 how not to use cassandraAxel Liljencrantz
 
Hug Hbase Presentation.
Hug Hbase Presentation.Hug Hbase Presentation.
Hug Hbase Presentation.Jack Levin
 
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...DataStax
 

Mais procurados (20)

Cassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWSCassandra Summit 2014: Performance Tuning Cassandra in AWS
Cassandra Summit 2014: Performance Tuning Cassandra in AWS
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDS
 
Cassandra Troubleshooting for 2.1 and later
Cassandra Troubleshooting for 2.1 and laterCassandra Troubleshooting for 2.1 and later
Cassandra Troubleshooting for 2.1 and later
 
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
The Best and Worst of Cassandra-stress Tool (Christopher Batey, The Last Pick...
 
Advanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMXAdvanced Apache Cassandra Operations with JMX
Advanced Apache Cassandra Operations with JMX
 
AddThis: Scaling Cassandra up and down into containers with ZFS
AddThis: Scaling Cassandra up and down into containers with ZFSAddThis: Scaling Cassandra up and down into containers with ZFS
AddThis: Scaling Cassandra up and down into containers with ZFS
 
Stabilizing Ceph
Stabilizing CephStabilizing Ceph
Stabilizing Ceph
 
Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...
Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...
Lessons Learned From Running 1800 Clusters (Brooke Jensen, Instaclustr) | Cas...
 
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance BarriersCeph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
 
Cassandra at Instagram (August 2013)
Cassandra at Instagram (August 2013)Cassandra at Instagram (August 2013)
Cassandra at Instagram (August 2013)
 
Scaling Cassandra for Big Data
Scaling Cassandra for Big DataScaling Cassandra for Big Data
Scaling Cassandra for Big Data
 
PagerDuty: One Year of Cassandra Failures
PagerDuty: One Year of Cassandra FailuresPagerDuty: One Year of Cassandra Failures
PagerDuty: One Year of Cassandra Failures
 
San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...
San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...
San Francisco Cassadnra Meetup - March 2014: I/O Performance tuning on AWS fo...
 
Cassandra in Operation
Cassandra in OperationCassandra in Operation
Cassandra in Operation
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scale
 
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
Optimizing Your Cluster with Coordinator Nodes (Eric Lubow, SimpleReach) | Ca...
 
DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...
DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...
DataStax | Advanced DSE Analytics Client Configuration (Jacek Lewandowski) | ...
 
Cassandra summit 2013 how not to use cassandra
Cassandra summit 2013  how not to use cassandraCassandra summit 2013  how not to use cassandra
Cassandra summit 2013 how not to use cassandra
 
Hug Hbase Presentation.
Hug Hbase Presentation.Hug Hbase Presentation.
Hug Hbase Presentation.
 
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...
 

Destaque

Cassandra Summit 2010 Performance Tuning
Cassandra Summit 2010 Performance TuningCassandra Summit 2010 Performance Tuning
Cassandra Summit 2010 Performance Tuningdriftx
 
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...DataStax
 
Long Lasting Memories Project Presentation
Long Lasting Memories Project PresentationLong Lasting Memories Project Presentation
Long Lasting Memories Project PresentationIlias Trochidis
 
ETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk LoadingETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk Loadingalex_araujo
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Ambiente Livre
 
Large partition in Cassandra
Large partition in CassandraLarge partition in Cassandra
Large partition in CassandraShogo Hoshii
 
Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...
Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...
Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...DataStax
 
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...DataStax
 
Bucket your partitions wisely - Cassandra summit 2016
Bucket your partitions wisely - Cassandra summit 2016Bucket your partitions wisely - Cassandra summit 2016
Bucket your partitions wisely - Cassandra summit 2016Markus Höfer
 
How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...
How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...
How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...DataStax
 
On heap cache vs off-heap cache
On heap cache vs off-heap cacheOn heap cache vs off-heap cache
On heap cache vs off-heap cachergrebski
 
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016DataStax
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso PráticoEiti Kimura
 
Cassandra - Tips And Techniques
Cassandra - Tips And TechniquesCassandra - Tips And Techniques
Cassandra - Tips And TechniquesKnoldus Inc.
 
Bulk Loading Data into Cassandra
Bulk Loading Data into CassandraBulk Loading Data into Cassandra
Bulk Loading Data into CassandraDataStax
 
Target: Performance Tuning Cassandra at Target
Target: Performance Tuning Cassandra at TargetTarget: Performance Tuning Cassandra at Target
Target: Performance Tuning Cassandra at TargetDataStax Academy
 
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...DataStax
 
Cassandra Virtual Node talk
Cassandra Virtual Node talkCassandra Virtual Node talk
Cassandra Virtual Node talkPatrick McFadin
 
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016DataStax
 
What We Learned About Cassandra While Building go90 (Christopher Webster & Th...
What We Learned About Cassandra While Building go90 (Christopher Webster & Th...What We Learned About Cassandra While Building go90 (Christopher Webster & Th...
What We Learned About Cassandra While Building go90 (Christopher Webster & Th...DataStax
 

Destaque (20)

Cassandra Summit 2010 Performance Tuning
Cassandra Summit 2010 Performance TuningCassandra Summit 2010 Performance Tuning
Cassandra Summit 2010 Performance Tuning
 
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
The Missing Manual for Leveled Compaction Strategy (Wei Deng & Ryan Svihla, D...
 
Long Lasting Memories Project Presentation
Long Lasting Memories Project PresentationLong Lasting Memories Project Presentation
Long Lasting Memories Project Presentation
 
ETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk LoadingETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk Loading
 
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
Escalabilidade Linear com o Banco de Dados NoSQL Apache Cassandra.
 
Large partition in Cassandra
Large partition in CassandraLarge partition in Cassandra
Large partition in Cassandra
 
Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...
Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...
Cassandra Tuning - Above and Beyond (Matija Gobec, SmartCat) | Cassandra Summ...
 
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...
Building a Fast, Resilient Time Series Store with Cassandra (Alex Petrov, Dat...
 
Bucket your partitions wisely - Cassandra summit 2016
Bucket your partitions wisely - Cassandra summit 2016Bucket your partitions wisely - Cassandra summit 2016
Bucket your partitions wisely - Cassandra summit 2016
 
How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...
How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...
How Cassandra Deletes Data (Alain Rodriguez, The Last Pickle) | Cassandra Sum...
 
On heap cache vs off-heap cache
On heap cache vs off-heap cacheOn heap cache vs off-heap cache
On heap cache vs off-heap cache
 
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
Myths of Big Partitions (Robert Stupp, DataStax) | Cassandra Summit 2016
 
Cassandra overview: Um Caso Prático
Cassandra overview:  Um Caso PráticoCassandra overview:  Um Caso Prático
Cassandra overview: Um Caso Prático
 
Cassandra - Tips And Techniques
Cassandra - Tips And TechniquesCassandra - Tips And Techniques
Cassandra - Tips And Techniques
 
Bulk Loading Data into Cassandra
Bulk Loading Data into CassandraBulk Loading Data into Cassandra
Bulk Loading Data into Cassandra
 
Target: Performance Tuning Cassandra at Target
Target: Performance Tuning Cassandra at TargetTarget: Performance Tuning Cassandra at Target
Target: Performance Tuning Cassandra at Target
 
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
Deletes Without Tombstones or TTLs (Eric Stevens, ProtectWise) | Cassandra Su...
 
Cassandra Virtual Node talk
Cassandra Virtual Node talkCassandra Virtual Node talk
Cassandra Virtual Node talk
 
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016
Troubleshooting Cassandra (J.B. Langston, DataStax) | C* Summit 2016
 
What We Learned About Cassandra While Building go90 (Christopher Webster & Th...
What We Learned About Cassandra While Building go90 (Christopher Webster & Th...What We Learned About Cassandra While Building go90 (Christopher Webster & Th...
What We Learned About Cassandra While Building go90 (Christopher Webster & Th...
 

Semelhante a Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1

Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]Markus Michalewicz
 
Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0Santosh Kangane
 
Trouble shooting apachecloudstack
Trouble shooting apachecloudstackTrouble shooting apachecloudstack
Trouble shooting apachecloudstackSailaja Sunil
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016StackIQ
 
Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...
Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...
Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...DataStax
 
Troubleshooting Apache Cloudstack
Troubleshooting Apache CloudstackTroubleshooting Apache Cloudstack
Troubleshooting Apache CloudstackRadhika Puthiyetath
 
C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals DataStax Academy
 
Oracle cluster installation with grid and iscsi
Oracle cluster  installation with grid and iscsiOracle cluster  installation with grid and iscsi
Oracle cluster installation with grid and iscsiChanaka Lasantha
 
Adaptec’s maxCache™ 3.0 Read and Write SSD Caching Solution
Adaptec’s maxCache™ 3.0 Read and Write SSD Caching SolutionAdaptec’s maxCache™ 3.0 Read and Write SSD Caching Solution
Adaptec’s maxCache™ 3.0 Read and Write SSD Caching SolutionAdaptec by PMC
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQLI Goo Lee
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in productionParis Data Engineers !
 
12c Flex ASM: Moving to Flex ASM
12c Flex ASM: Moving to Flex ASM12c Flex ASM: Moving to Flex ASM
12c Flex ASM: Moving to Flex ASMMonowar Mukul
 
在Aix6.1上安装11g r2 rac grid infrastructure集群
在Aix6.1上安装11g r2 rac grid infrastructure集群在Aix6.1上安装11g r2 rac grid infrastructure集群
在Aix6.1上安装11g r2 rac grid infrastructure集群maclean liu
 
Maximum Overdrive: Tuning the Spark Cassandra Connector
Maximum Overdrive: Tuning the Spark Cassandra ConnectorMaximum Overdrive: Tuning the Spark Cassandra Connector
Maximum Overdrive: Tuning the Spark Cassandra ConnectorRussell Spitzer
 
Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15
Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15
Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15Remi Bergsma
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalabilityWim Godden
 

Semelhante a Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1 (20)

Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]Understanding Oracle RAC 12c Internals OOW13 [CON8806]
Understanding Oracle RAC 12c Internals OOW13 [CON8806]
 
Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0Oracle 11g R2 RAC setup on rhel 5.0
Oracle 11g R2 RAC setup on rhel 5.0
 
Trouble shooting apachecloudstack
Trouble shooting apachecloudstackTrouble shooting apachecloudstack
Trouble shooting apachecloudstack
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
 
Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...
Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...
Maximum Overdrive: Tuning the Spark Cassandra Connector (Russell Spitzer, Dat...
 
les04.pdf
les04.pdfles04.pdf
les04.pdf
 
Troubleshooting Apache Cloudstack
Troubleshooting Apache CloudstackTroubleshooting Apache Cloudstack
Troubleshooting Apache Cloudstack
 
C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals C* Summit EU 2013: Cassandra Internals
C* Summit EU 2013: Cassandra Internals
 
Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0
 
Oracle cluster installation with grid and iscsi
Oracle cluster  installation with grid and iscsiOracle cluster  installation with grid and iscsi
Oracle cluster installation with grid and iscsi
 
Adaptec’s maxCache™ 3.0 Read and Write SSD Caching Solution
Adaptec’s maxCache™ 3.0 Read and Write SSD Caching SolutionAdaptec’s maxCache™ 3.0 Read and Write SSD Caching Solution
Adaptec’s maxCache™ 3.0 Read and Write SSD Caching Solution
 
Network Manual
Network ManualNetwork Manual
Network Manual
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
 
12c Flex ASM: Moving to Flex ASM
12c Flex ASM: Moving to Flex ASM12c Flex ASM: Moving to Flex ASM
12c Flex ASM: Moving to Flex ASM
 
在Aix6.1上安装11g r2 rac grid infrastructure集群
在Aix6.1上安装11g r2 rac grid infrastructure集群在Aix6.1上安装11g r2 rac grid infrastructure集群
在Aix6.1上安装11g r2 rac grid infrastructure集群
 
Maximum Overdrive: Tuning the Spark Cassandra Connector
Maximum Overdrive: Tuning the Spark Cassandra ConnectorMaximum Overdrive: Tuning the Spark Cassandra Connector
Maximum Overdrive: Tuning the Spark Cassandra Connector
 
Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15
Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15
Operating CloudStack: Sharing My Tool Box @ApacheCon NA'15
 
Convert single instance to RAC
Convert single instance to RACConvert single instance to RAC
Convert single instance to RAC
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
 

Mais de DataStax Academy

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftDataStax Academy
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseDataStax Academy
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraDataStax Academy
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsDataStax Academy
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingDataStax Academy
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackDataStax Academy
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache CassandraDataStax Academy
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready CassandraDataStax Academy
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonDataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2DataStax Academy
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First ClusterDataStax Academy
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with DseDataStax Academy
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraDataStax Academy
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseDataStax Academy
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraDataStax Academy
 

Mais de DataStax Academy (20)

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph Database
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart Labs
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data Modeling
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache Cassandra
 
Coursera Cassandra Driver
Coursera Cassandra DriverCoursera Cassandra Driver
Coursera Cassandra Driver
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready Cassandra
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First Cluster
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with Dse
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache Cassandra
 
Cassandra Core Concepts
Cassandra Core ConceptsCassandra Core Concepts
Cassandra Core Concepts
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
 
Bad Habits Die Hard
Bad Habits Die Hard Bad Habits Die Hard
Bad Habits Die Hard
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache Cassandra
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Cassandra Summit 2014: Lesser Known Features of Cassandra 2.1

  • 1. #CASSANDRASUMMIT LESSER KNOWN FEATURES OF CASSANDRA 2.1 Aaron Morton @aaronmorton Co-Founder & Principal Consultant Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License
  • 2. About The Last Pickle. ! Work with clients to deliver and improve Apache Cassandra based solutions. Apache Cassandra Committer, DataStax MVP, Hector Maintainer, Apache Usergrid Committer. Based in New Zealand & USA.
  • 4. Change Logging to Logback (CASSANDRA-5883) Faster Auto Reloading Auto Archiving logback.xml
  • 5. Change Logging to Logback (CASSANDRA-5883) <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${cassandra.logdir}/system.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>${cassandra.logdir}/system.log.%i.zip</ fileNamePattern> <minIndex>1</minIndex> <maxIndex>20</maxIndex> </rollingPolicy> </appender> ! <logger name=“org.apache.cassandra.Foo” level="ERROR"/>
  • 6. Change Logging to Logback (CASSANDRA-5883) TIP: Change compression so zless and zgrep work. ! ${cassandra.logdir}/system.log.%i.gz
  • 7. Change Logging to Logback (CASSANDRA-5883) $ ls -lah logs/ 963K system.log 129K system.log.1.gz 158K system.log.2.gz 158K system.log.3.gz 158K system.log.4.gz 158K system.log.5.gz 158K system.log.6.gz 158K system.log.7.gz 158K system.log.8.gz 157K system.log.9.gz
  • 9. New Default Paths (CASSANDRA-7136) // bin/cassandra.in.sh CASSANDRA_HOME="`dirname "$0"`/.." cassandra_storagedir=“$CASSANDRA_HOME/data" ! // bin/cassandra -Dcassandra.logdir=$CASSANDRA_HOME/logs" -Dcassandra.storagedir=$cassandra_storagedir"
  • 10. New Default Paths (CASSANDRA-7136) No change for package installs. ! Leave YAML settings blank for new defaults.
  • 11. New Default Paths (CASSANDRA-7136) $ ls -lh cassandra/v2.1/ -rw-r--r--@ CHANGES.txt -rw-r--r--@ LICENSE.txt -rw-r--r--@ NEWS.txt -rw-r--r--@ NOTICE.txt drwxr-xr-x@ bin drwxr-xr-x@ conf drwxr-xr-x data drwxr-xr-x@ lib drwxr-xr-x logs drwxr-xr-x@ pylib drwxr-xr-x@ tools
  • 12. New Default Paths (CASSANDRA-7136) $ ls -lah cassandra/ drwxr-xr-x@ apache-cassandra-1.0.12 drwxr-xr-x@ apache-cassandra-1.1.12 drwxr-xr-x@ apache-cassandra-1.2.18 drwxr-xr-x@ apache-cassandra-2.0.10 drwxr-xr-x@ apache-cassandra-2.1.0-rc7 lrwxr-xr-x current -> v2.0/ lrwxr-xr-x v1.0 -> apache-cassandra-1.0.12 lrwxr-xr-x v1.1 -> apache-cassandra-1.1.12 lrwxr-xr-x v1.2 -> apache-cassandra-1.2.18/ lrwxr-xr-x v2.0 -> apache-cassandra-2.0.10 lrwxr-xr-x v2.1 -> apache-cassandra-2.1.0-rc7
  • 13. Custom Configuration Loader (CASSANDRA-5045) -Dcassandra.config.loader ! Provide a custom class that implements o.a.c.config.ConfigurationLoader.
  • 14. Custom Configuration Loader (CASSANDRA-5045) Useful when embedding or storing configuration elsewhere.
  • 15. Add QueryHandler Interface (CASSANDRA-6659) -Dcassandra.custom_query_handler_class ! Provide a custom class that implements o.a.c.cql3.QueryHandler.
  • 16. Add QueryHandler Interface (CASSANDRA-6659) Custom implementation to handle all CQL3 queries. ! For example logging, slow query log, stubbing Cassandra.
  • 17. Add QueryHandler Interface (CASSANDRA-6659) public interface QueryHandler { ResultMessage process(String query, QueryState state,…); ! ResultMessage.Prepared prepare(String query, QueryState state); ! ParsedStatement.Prepared getPrepared(MD5Digest id); ! CQLStatement getPreparedForThrift(Integer id); ! ResultMessage processPrepared(CQLStatement statement, …); ! ResultMessage processBatch(BatchStatement statement, …);
  • 18. Pluggable o.a.c.metrics Reporters (CASSANDRA-4430) ! -Dcassandra.metricsReporterConfigFile ! https://github.com/addthis/metrics-reporter- config
  • 19. Pluggable o.a.c.metrics Reporters (CASSANDRA-4430) Reporters push metrics to Graphite, Ganglia, Riemann etc.
  • 20. Pluggable o.a.c.metrics Reporters (CASSANDRA-4430) riemann: - period: 1 timeunit: 'SECONDS' hosts: - host: 'localhost' port: 5555 predicate: color: "white" useQualifiedName: true patterns: - "^org.apache.cassandra.metrics.ClientRequest.+" - "^org.apache.cassandra.metrics.DroppedMessage.+"
  • 21. Selective Commit Log Replay (CASSANDRA-4809) -Dcassandra.replayList ! -Dcassandra.replayList=Foo.Bar,…
  • 22. Selective Commit Log Replay (CASSANDRA-4809) Use for selective Point in Time recovery using Commit Log Archiving.
  • 23. Add Option To Disable STCS In L0 (CASSANDRA-6621) ! -Dcassandra.disable_stcs_in_l0 ! May be useful when Bootstrapping.
  • 24. Use JMX_PORT For The RMI Port (CASSANDRA-7087) ! // conf/cassandra-env.sh -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT
  • 26. Enabled Hints Per Data Center (CASSANDRA-6157) ! hinted_handoff_enabled: DC1,DC2 ! Disable Hints for a troubled DC. ! !
  • 27. Add Paranoid Disk Failure Option (CASSANDRA-6646) ! disk_failure_policy: stop_paranoid ! Implement STOP behaviour for CorruptSSTableException.
  • 28. Commit Log Failure Handling (CASSANDRA-6364) ! commit_failure_policy: stop !
  • 29. Commit Log Failure Handling (CASSANDRA-6364) ! ERROR [PERIODIC-COMMIT-LOG-SYNCER] 2014-… CommitLog.java:350 - Failed to persist commits to disk. Commit disk failure policy is stop; terminating thread ! java.io.IOException: Something broke. at org.apache.cassandra.db.commitlog.AbstractCommitLogService $1.run(AbstractCommitLogService.java:123) at java.lang.Thread.run(Thread.java:744)
  • 30. Add file_cache_size_in_mb setting (CASSANDRA-5661) ! # Total memory to use for sstable-reading buffers. # Defaults to # the smaller of 1/4 of heap or 512MB # file_cache_size_in_mb: 512
  • 31. Add file_cache_size_in_mb setting (CASSANDRA-5661) File Readers have a 64 KB buffer. Compressed File Readers have two 64 KB buffers.
  • 32. Add file_cache_size_in_mb setting (CASSANDRA-5661) Discard cached file readers 512ms after last access for a file.
  • 33. Add file_cache_size_in_mb setting (CASSANDRA-5661) Maintain a maximum combined buffer size for all file readers.
  • 34. Improve 2.1 flush defaults (CASSANDRA-7551) ! # memtable_flush_writers defaults to the smaller of (number of # disks, number of cores), with a minimum of 2 and a maximum of 8. # # If your data directories are backed by SSD, you should increase # this to the number of cores. # memtable_flush_writers: 8
  • 35. New concurrent_compactors Defaults (CASSANDRA-7139) ! # concurrent_compactors defaults to the smaller of (number # of disks, number of cores), with a minimum of 2 and a # maximum of 8. # # If your data directories are backed by SSD, you should # increase this to the number of cores. # concurrent_compactors: 1
  • 36. Throw Error When Frame Too Large (CASSANDRA-5981) ! # native_transport_max_frame_size_in_mb: 256 ! Improves Existing Behaviour, InvalidRequestException now thrown.
  • 37. Add broadcast_rpc_address Option (CASSANDRA-5899) ! broadcast_rpc_address: 1.2.3.4 ! Broadcast to clients via node discovery.
  • 38. Add listen_interface and rpc_interface (CASSANDRA-7417) ! rpc_interface: eth1 ! listen_interface: eth0
  • 39. Add listen_interface and rpc_interface (CASSANDRA-7417) Must have a only one IP Address.
  • 40. Drop queries reading many Tombstones (CASSANDRA-6117) Replaces tombstone_debug_threshold
  • 41. Drop queries reading many Tombstones (CASSANDRA-6117) ! tombstone_warn_threshold: 1000
  • 42. Drop queries reading many Tombstones (CASSANDRA-6117) WARN [main] … ! SliceQueryFilter.java:236 - Read 2 live and 4 tombstoned cells in system.schema_columnfamilies (see tombstone_warn_threshold). 2147483631 columns was requested, slices=[-], delInfo={deletedAt=-9223372036854775808, localDeletion=2147483647}
  • 43. Drop query that using Tombstones (CASSANDRA-6117) ! tombstone_failure_threshold: 100000
  • 44. Drop query that using Tombstones (CASSANDRA-6117) ! ERROR [SharedPool-Worker-7] … ! SliceQueryFilter.java:212 - Scanned over 100000 tombstones in system.schema_columns; query aborted (see tombstone_fail_threshold)
  • 45. Log a Warning for Large Batches (CASSANDRA-6487) ! batch_size_warn_threshold_in_kb: 5
  • 46. Log a Warning for Large Batches (CASSANDRA-6487) ! WARN [Native-Transport-Requests:553]… ! BatchStatement.java (line 228) Batch of prepared statements for [Keyspace1.Standard1] is of size 6165, exceeding specified threshold of 5120 by 1045.
  • 47. Preemptive opening compaction result (CASSANDRA-6916) Replaces compaction_preheat_key_cache: true, preheat_kernel_page_cache: false and populate_io_cache_on_flush table property.
  • 48. Preemptive opening compaction result (CASSANDRA-6916) With sstable_preemptive_open_interval_in_mb: 50
  • 49. Preemptive opening compaction result (CASSANDRA-6916) Pre heats Key Cache and IO Cache, and reads from partial SSTables.
  • 50. Throttle Inter-DC Streaming Traffic (CASSANDRA-6596) ! inter_dc_stream_throughput_outbound_megabits_per_sec: 0 Applied after stream_throughput_outbound_megabits_per_sec: 200
  • 52. Alias Support For SELECT Statement (CASSANDRA-5075) ! cqlsh:dev> select foo as total_foo from foo; ! total_foo ----------- bar baz ! (2 rows)
  • 53. An Official Way To Disable Compaction (CASSANDRA-5074) ! create table no_compaction_for_you ( foo text, bar text, primary key (foo, bar) ) with compaction = { 'enabled' : false, 'class' : 'SizeTieredCompactionStrategy' };
  • 54. Aggressive Tombstone Compactions (CASSANDRA-6563) ! CREATE TABLE foo ( foo text primary key, bar text ) WITH compaction = { 'class' : 'SizeTieredCompactionStrategy', 'unchecked_tombstone_compaction' : 'true' };
  • 55. Aggressive Tombstone Compactions (CASSANDRA-6563) Disables check for other row fragments.
  • 57. cqlsh
  • 58. Pass cqlsh Statements via Command Line CASSANDRA-7172 ! bin/cqlsh --execute="select distinct foo from dev.foo;" ! foo ------- three one five two four ! (5 rows)
  • 59. Include CQL in Error Messages (CASSANDRA-7111) ! cqlsh:dev> SELECT foo bar from foo; ! <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:11 no viable alternative at input 'bar'"> cqlsh:dev> !
  • 61. Set & Get Logging Levels via nodetool (CASSANDRA-7090) ! nodetool getlogginglevels Logger Name Log Level ROOT INFO com.thinkaurelius.thrift ERROR ! nodetool setlogginglevel org.apache.cassandra.db.Row DEBUG ! nodetool getlogginglevels Logger Name Log Level ROOT INFO com.thinkaurelius.thrift ERROR org.apache.cassandra.db.Row DEBUG
  • 62. Add listsnapshots To nodetool (CASSANDRA-5742) ! nodetool listsnapshots ! Snapshot Details: Snapshot name Keyspace name Column family True size Size on disk pre-migration Keyspace1 Standard1 508.03 MB 555.59 MB all-good Keyspace1 Standard1 549.01 MB 803.68 MB ! Total TrueDiskSpaceUsed: 1.03 GB
  • 63. Add Snapshot Space Used To cfstats (CASSANDRA-6231) ! Table: Standard1 SSTable count: 4 Space used (live), bytes: 76875505 Space used (total), bytes: 76875505 Space used by snapshots (total), bytes: 1108391939
  • 64. Save Compaction History (CASSANDRA-5078) ! nodetool compactionhistory ! id keyspace columnfamily compacted_at bytes_in bytes_out 31...9d Keyspace1 Standard1 1410287780455 488451903 174360500 51...9d Keyspace1 Standard1 1410287834272 527847260 256812363
  • 65. Repairing Between Specific Replicas (CASSANDRA-6440) ! nodetool repair [(-dc <specific_dc> | --in-dc <specific_dc>)...] [(-hosts <specific_host> | --in-hosts <specific_host>)]
  • 66. Reset SSTable LCS Compaction Level (CASSANDRA-5271) ! sstablelevelreset --really-reset Keyspace1 Standard1 ! ! Changing level from 1 to 0 on …/Keyspace1-Standard1-ka-35-Data.db ! Skipped .../Keyspace1-Standard1-ka-33-Data.db since it is already on level 0 ! Changing level from 1 to 0 on …/Keyspace1-Standard1-ka-32-Data.db ! Skipped .../Keyspace1-Standard1-ka-34-Data.db since it is already on level 0 !
  • 68. Promote Partition Index (CASSANDRA-2319) Index of Cells created when partition is larger than column_index_size_in_kb (64).
  • 69. Promote Partition Index (CASSANDRA-2319) Column Index promoted into the Key Cache. Improves reading from wide Partitions.
  • 70. Remove Keyspace.switchLock (CASSANDRA-5549) Removed memtable_flush_queue_size Added memtable_cleanup_threshold
  • 71. Remove Keyspace.switchLock (CASSANDRA-5549) When the Flush Queue was full Mutations would be blocked. (Blocked FlushWriter tasks.)
  • 72. Unique Column Family Directories (CASSANDRA-5202) Prevents “re-using”data from dropped Column Families.
  • 73. Unique Column Family Directories (CASSANDRA-5202) ls -lah data/data/Keyspace1/ ! drwxr-xr-x Counter1-89df6990386511e48bb41d4c6fbb569d drwxr-xr-x Counter3-89f20730386511e48bb41d4c6fbb569d drwxr-xr-x Standard1-89df4280386511e48bb41d4c6fbb569d
  • 74. Specify Cells To Cache Per Row (CASSANDRA-5357) create table row_cache ( foo text, bar text, primary key (foo, bar) ) with rows_per_partition_to_cache = 10;
  • 75. Use hibernate when join_ring is false (CASSANDRA-6961) Use when returning a node that as been down for longer than the Hint window.
  • 76. Use hibernate when join_ring is false (CASSANDRA-6961) nodetool join
  • 77. Add Manifest Describing Snapshot Files (CASSANDRA-6326) ! { "files": [ "Keyspace1-Standard1-ka-1-Data.db", "Keyspace1-Standard1-ka-3-Data.db", "Keyspace1-Standard1-ka-2-Data.db", "Keyspace1-Standard1-ka-5-Data.db", "Keyspace1-Standard1-ka-4-Data.db" ] }
  • 78. Track min/max Clustered Values (CASSANDRA-5514) ! CREATE TABLE temperature ( weatherstation_id text, event_time timestamp, temperature text, PRIMARY KEY (weatherstation_id,event_time) );
  • 79. Track min/max Clustered Values (CASSANDRA-5514) ! SELECT event_time, temperature FROM temperature WHERE weatherstation_id='1234ABCD' AND event_time >= '2013-04-03 07:01:00' AND event_time <= '2013-04-03 07:04:00';
  • 80. Track min/max Clustered Values (CASSANDRA-5514) Skips SSTables that will not contain relevant data.
  • 81. The Take Away Use Cassandra v2.0.10 ! Get testing on v2.1.0
  • 83. Aaron Morton @aaronmorton ! Co-Founder & Principal Consultant www.thelastpickle.com ! Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License