SlideShare uma empresa Scribd logo
1 de 14
CQL, ‘THEN AND NOW’

   Cassandra London
                Feb, 20th 2012


           Courtney Robinson
           courtney@crlog.info
              @zcourts
           http://crlog.info
   github.com/zcourts
IN THE BEGINNING
   ...horrible thrift code here
AND THEN THERE WAS...
   ...better looking hector code here
NOT QUITE
   ...slightly better (my hector wrapper)




 Still not excellent, but better (I think)
 Remember, not all languages have clients as good as
  hector.
 Usability varied* vastly between the supported languages
 So much so I chose Play! Framework over PHP for a
  small admin front end.
YAY! CQL TO SAVE THE DAY!




 ...because not everyone has an Ops team to torture.
 Upgrading wasn’t such a pain, little or no code breaking

 CQL offered stability (ish)...
BRIEF INTRO – WHAT IS IT?
   Simple, structured query language for Cassandra

   Very much SQL (except where it can’t be)

   Alternative to the Thrift RPC API.

   Available since Cassandra version 0.8.0

   In keeping with Eric Evan’s attempts, just pronounce it
    ‘siːkwəl’

   Isn’t much* to say about CQL, its does what it says on the
    tin
CONTROVERSY, POLITICS AND OUT RIGHT BI***ING
   Always been an outspoken    (some more than others)
                                                          few against it

   Never been much in the way of facts to backup their claims
    such as:

   SQL like syntax is a very idiomatic RDMS thing.

   Parsing a string will be slow, just because its parsing a string
    and for no other reason

   The aforementioned will make Cassandra ‘as vulnerable’ to
    injection

   ...etc (all speculation mind you)
SO WHAT, CAN I USE THIS THING?
   CQL is very much production ready.

   If anyone tells you otherwise, ask them to prove its not before you
    decide.

   My tiny 5 Node cluster is nothing to boast about, but it handles a good
    150+ GB of data a day

   Every* query is done with CQL

   Except on a single CF which uses super columns.

   CQL does not and most likely will not ever support super columns.

   Compound column (CASSANDRA-2474 monster ticket) resolved (ish).
CQL V1.0.0 - DEBUT KEYWORDS
 USE
 SELECT
                         That’s right!
 UPDATE

 DELETE
                        No INSERT...?
 TRUNCATE

 DROP

 BATCH
          SPECIAL STATEMENTS
 CREATE KEYSPACE
 CREATE COLUMNFAMILY

 CREATE INDEX                            10
                                         total
TIME TELLS NO LIES, CQL V2
   ALTER COLUMNFAMILY
   BATCH                      Create table is nothing more
                                  than an alias to create
   CREATE INDEX
                                      columnfamily
   CREATE KEYSPACE
   CREATE COLUMNFAMILY
   CREATE TABLE (CASSANDRA-2743)
   DELETE
                                            Rational: ‘create an
   DROP COLUMNFAMILY                       alias to be friendlier
   DROP INDEX                                to existing tools’
   DROP KEYSPACE
   INSERT
   SELECT
   TRUNCATE                                                 15
                                                            total
   UPDATE
   USE
CQL V3, AKA CASSANDRA-3761

   About 13 sub-tickets

   Most unresolved

   It’d be unwise to list features

   Any of these could be dropped/altered before V3 is
    finalized (C* V1.1.1 is the roadmap release for V3)

   Backwards incompatibility (hence major version jump)

   Not the little project it used to be, would take all night to
    cover each feature with enough details
TERMINOLOGY WAR...
   CQL’s changing fast (maybe too fast?)

   Terminology looks to be changing

   Creating over lap in some places

   May become, or already is confusing

   Not sure those in charge are seeing it

   At a stage where its probably as confusing as other, more
    complicated C* features

   Progress is great, but so is usability & simplicity...
COURTNEY ROBINSON @ZCOURTS


           Thank you for listening.


            Questions?
                                Links:
    https://github.com/apache/cassandra/blob/trunk/doc/cql/CQL.textile
 http://crlog.info/2011/09/17/cassandra-query-language-cql-v2-0-reference/
         https://issues.apache.org/jira/browse/CASSANDRA-2743

Mais conteúdo relacionado

Mais procurados

How to deploy docker container inside ikoula's cloud
How to deploy docker container inside ikoula's cloudHow to deploy docker container inside ikoula's cloud
How to deploy docker container inside ikoula's cloudNicolas Trauwaen
 
Docker - A Ruby Introduction
Docker - A Ruby IntroductionDocker - A Ruby Introduction
Docker - A Ruby IntroductionTyler Johnston
 
Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...Pier Alberto Pierini
 
Docker consul-registrator
Docker consul-registratorDocker consul-registrator
Docker consul-registratorlaonap166
 

Mais procurados (6)

How to deploy docker container inside ikoula's cloud
How to deploy docker container inside ikoula's cloudHow to deploy docker container inside ikoula's cloud
How to deploy docker container inside ikoula's cloud
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Aloofix
AloofixAloofix
Aloofix
 
Docker - A Ruby Introduction
Docker - A Ruby IntroductionDocker - A Ruby Introduction
Docker - A Ruby Introduction
 
Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...
 
Docker consul-registrator
Docker consul-registratorDocker consul-registrator
Docker consul-registrator
 

Destaque

TEDxOdessa presentation
TEDxOdessa presentationTEDxOdessa presentation
TEDxOdessa presentationTEDxOdessa
 
Dolphins run ashore
Dolphins run ashoreDolphins run ashore
Dolphins run ashoreemb263
 
บรรยาย สินค้า แผน ใหม่สุดๆๆ
บรรยาย สินค้า แผน ใหม่สุดๆๆบรรยาย สินค้า แผน ใหม่สุดๆๆ
บรรยาย สินค้า แผน ใหม่สุดๆๆSupattharachai Jaijaeng
 
Creativity is More Important than the Knowledge
Creativity is More Important than the Knowledge Creativity is More Important than the Knowledge
Creativity is More Important than the Knowledge Meemo Banjare
 
Understanding plagiarismv2
Understanding plagiarismv2Understanding plagiarismv2
Understanding plagiarismv2jupislay
 
Locations and Directions - Terry Turner
Locations and Directions - Terry TurnerLocations and Directions - Terry Turner
Locations and Directions - Terry TurnerVinicius Matos
 
Senior project final (3)
Senior project final (3)Senior project final (3)
Senior project final (3)blondie50351
 
Power Point บรรยาย สินค้า+ แผน บริษัทRichyway
Power Point บรรยาย สินค้า+ แผน บริษัทRichyway Power Point บรรยาย สินค้า+ แผน บริษัทRichyway
Power Point บรรยาย สินค้า+ แผน บริษัทRichyway Supattharachai Jaijaeng
 
Senior project photo album
Senior project photo albumSenior project photo album
Senior project photo albumblondie50351
 
TEDxOdessa Partnership
TEDxOdessa PartnershipTEDxOdessa Partnership
TEDxOdessa PartnershipTEDxOdessa
 
Senior project research paper
Senior project research paperSenior project research paper
Senior project research paperblondie50351
 
Reheating Refrigeration System
Reheating Refrigeration System Reheating Refrigeration System
Reheating Refrigeration System Meemo Banjare
 

Destaque (16)

TEDxOdessa presentation
TEDxOdessa presentationTEDxOdessa presentation
TEDxOdessa presentation
 
Dolphins run ashore
Dolphins run ashoreDolphins run ashore
Dolphins run ashore
 
บรรยาย สินค้า แผน ใหม่สุดๆๆ
บรรยาย สินค้า แผน ใหม่สุดๆๆบรรยาย สินค้า แผน ใหม่สุดๆๆ
บรรยาย สินค้า แผน ใหม่สุดๆๆ
 
Creativity is More Important than the Knowledge
Creativity is More Important than the Knowledge Creativity is More Important than the Knowledge
Creativity is More Important than the Knowledge
 
Understanding plagiarismv2
Understanding plagiarismv2Understanding plagiarismv2
Understanding plagiarismv2
 
B
BB
B
 
Locations and Directions - Terry Turner
Locations and Directions - Terry TurnerLocations and Directions - Terry Turner
Locations and Directions - Terry Turner
 
Senior project final (3)
Senior project final (3)Senior project final (3)
Senior project final (3)
 
Quality Tool
Quality ToolQuality Tool
Quality Tool
 
Power Point บรรยาย สินค้า+ แผน บริษัทRichyway
Power Point บรรยาย สินค้า+ แผน บริษัทRichyway Power Point บรรยาย สินค้า+ แผน บริษัทRichyway
Power Point บรรยาย สินค้า+ แผน บริษัทRichyway
 
BLM
BLMBLM
BLM
 
Senior project photo album
Senior project photo albumSenior project photo album
Senior project photo album
 
Defense
DefenseDefense
Defense
 
TEDxOdessa Partnership
TEDxOdessa PartnershipTEDxOdessa Partnership
TEDxOdessa Partnership
 
Senior project research paper
Senior project research paperSenior project research paper
Senior project research paper
 
Reheating Refrigeration System
Reheating Refrigeration System Reheating Refrigeration System
Reheating Refrigeration System
 

Semelhante a CQL, then and now

Trivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan Ott
Trivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan OttTrivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan Ott
Trivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan OttTrivadis
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBoxlzap
 
The Do’s and Don’ts of Benchmarking Databases
The Do’s and Don’ts of Benchmarking DatabasesThe Do’s and Don’ts of Benchmarking Databases
The Do’s and Don’ts of Benchmarking DatabasesScyllaDB
 
Cassandra To Infinity And Beyond
Cassandra To Infinity And BeyondCassandra To Infinity And Beyond
Cassandra To Infinity And BeyondRomain Hardouin
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache CassandraRobert Stupp
 
Cassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesCassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesScyllaDB
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecturejoaquincasares
 
Corwin on Containers
Corwin on ContainersCorwin on Containers
Corwin on ContainersCorwin Brown
 
Apache Cassandra Lunch #74: ScyllaDB - Peter Corless
Apache Cassandra Lunch #74: ScyllaDB - Peter CorlessApache Cassandra Lunch #74: ScyllaDB - Peter Corless
Apache Cassandra Lunch #74: ScyllaDB - Peter CorlessAnant Corporation
 
KSQL: The Streaming SQL Engine for Apache Kafka
KSQL: The Streaming SQL Engine for Apache KafkaKSQL: The Streaming SQL Engine for Apache Kafka
KSQL: The Streaming SQL Engine for Apache KafkaChris Mueller
 
Cassandra Fundamentals - C* 2.0
Cassandra Fundamentals - C* 2.0Cassandra Fundamentals - C* 2.0
Cassandra Fundamentals - C* 2.0Russell Spitzer
 
TupleJump: Breakthrough OLAP performance on Cassandra and Spark
TupleJump: Breakthrough OLAP performance on Cassandra and SparkTupleJump: Breakthrough OLAP performance on Cassandra and Spark
TupleJump: Breakthrough OLAP performance on Cassandra and SparkDataStax Academy
 
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkFiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkEvan Chan
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in KubernetesMinhan Xia
 
Making It To Veteren Cassandra Status
Making It To Veteren Cassandra StatusMaking It To Veteren Cassandra Status
Making It To Veteren Cassandra StatusEric Lubow
 
Azure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challengesAzure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challengesWojciech Barczyński
 
Scylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per serverScylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per serverAvi Kivity
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQLUlf Wendel
 
Scylla db@cassandra meetup, tlv, 2015
Scylla db@cassandra meetup, tlv, 2015Scylla db@cassandra meetup, tlv, 2015
Scylla db@cassandra meetup, tlv, 2015Dor Laor
 
CQL: This is not the SQL you are looking for.
CQL: This is not the SQL you are looking for.CQL: This is not the SQL you are looking for.
CQL: This is not the SQL you are looking for.Aaron Ploetz
 

Semelhante a CQL, then and now (20)

Trivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan Ott
Trivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan OttTrivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan Ott
Trivadis TechEvent 2016 Big Data Cassandra, wieso brauche ich das? by Jan Ott
 
Katello on TorqueBox
Katello on TorqueBoxKatello on TorqueBox
Katello on TorqueBox
 
The Do’s and Don’ts of Benchmarking Databases
The Do’s and Don’ts of Benchmarking DatabasesThe Do’s and Don’ts of Benchmarking Databases
The Do’s and Don’ts of Benchmarking Databases
 
Cassandra To Infinity And Beyond
Cassandra To Infinity And BeyondCassandra To Infinity And Beyond
Cassandra To Infinity And Beyond
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache Cassandra
 
Cassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesCassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary Differences
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecture
 
Corwin on Containers
Corwin on ContainersCorwin on Containers
Corwin on Containers
 
Apache Cassandra Lunch #74: ScyllaDB - Peter Corless
Apache Cassandra Lunch #74: ScyllaDB - Peter CorlessApache Cassandra Lunch #74: ScyllaDB - Peter Corless
Apache Cassandra Lunch #74: ScyllaDB - Peter Corless
 
KSQL: The Streaming SQL Engine for Apache Kafka
KSQL: The Streaming SQL Engine for Apache KafkaKSQL: The Streaming SQL Engine for Apache Kafka
KSQL: The Streaming SQL Engine for Apache Kafka
 
Cassandra Fundamentals - C* 2.0
Cassandra Fundamentals - C* 2.0Cassandra Fundamentals - C* 2.0
Cassandra Fundamentals - C* 2.0
 
TupleJump: Breakthrough OLAP performance on Cassandra and Spark
TupleJump: Breakthrough OLAP performance on Cassandra and SparkTupleJump: Breakthrough OLAP performance on Cassandra and Spark
TupleJump: Breakthrough OLAP performance on Cassandra and Spark
 
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkFiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in Kubernetes
 
Making It To Veteren Cassandra Status
Making It To Veteren Cassandra StatusMaking It To Veteren Cassandra Status
Making It To Veteren Cassandra Status
 
Azure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challengesAzure Kubernetes Service - benefits and challenges
Azure Kubernetes Service - benefits and challenges
 
Scylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per serverScylla: 1 Million CQL operations per second per server
Scylla: 1 Million CQL operations per second per server
 
NoSQL in MySQL
NoSQL in MySQLNoSQL in MySQL
NoSQL in MySQL
 
Scylla db@cassandra meetup, tlv, 2015
Scylla db@cassandra meetup, tlv, 2015Scylla db@cassandra meetup, tlv, 2015
Scylla db@cassandra meetup, tlv, 2015
 
CQL: This is not the SQL you are looking for.
CQL: This is not the SQL you are looking for.CQL: This is not the SQL you are looking for.
CQL: This is not the SQL you are looking for.
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

CQL, then and now

  • 1. CQL, ‘THEN AND NOW’ Cassandra London Feb, 20th 2012 Courtney Robinson courtney@crlog.info @zcourts http://crlog.info github.com/zcourts
  • 2. IN THE BEGINNING  ...horrible thrift code here
  • 3. AND THEN THERE WAS...  ...better looking hector code here
  • 4. NOT QUITE  ...slightly better (my hector wrapper)  Still not excellent, but better (I think)  Remember, not all languages have clients as good as hector.  Usability varied* vastly between the supported languages  So much so I chose Play! Framework over PHP for a small admin front end.
  • 5. YAY! CQL TO SAVE THE DAY!  ...because not everyone has an Ops team to torture.  Upgrading wasn’t such a pain, little or no code breaking  CQL offered stability (ish)...
  • 6. BRIEF INTRO – WHAT IS IT?  Simple, structured query language for Cassandra  Very much SQL (except where it can’t be)  Alternative to the Thrift RPC API.  Available since Cassandra version 0.8.0  In keeping with Eric Evan’s attempts, just pronounce it ‘siːkwəl’  Isn’t much* to say about CQL, its does what it says on the tin
  • 7. CONTROVERSY, POLITICS AND OUT RIGHT BI***ING  Always been an outspoken (some more than others) few against it  Never been much in the way of facts to backup their claims such as:  SQL like syntax is a very idiomatic RDMS thing.  Parsing a string will be slow, just because its parsing a string and for no other reason  The aforementioned will make Cassandra ‘as vulnerable’ to injection  ...etc (all speculation mind you)
  • 8. SO WHAT, CAN I USE THIS THING?  CQL is very much production ready.  If anyone tells you otherwise, ask them to prove its not before you decide.  My tiny 5 Node cluster is nothing to boast about, but it handles a good 150+ GB of data a day  Every* query is done with CQL  Except on a single CF which uses super columns.  CQL does not and most likely will not ever support super columns.  Compound column (CASSANDRA-2474 monster ticket) resolved (ish).
  • 9. CQL V1.0.0 - DEBUT KEYWORDS  USE  SELECT That’s right!  UPDATE  DELETE No INSERT...?  TRUNCATE  DROP  BATCH SPECIAL STATEMENTS  CREATE KEYSPACE  CREATE COLUMNFAMILY  CREATE INDEX 10 total
  • 10. TIME TELLS NO LIES, CQL V2  ALTER COLUMNFAMILY  BATCH Create table is nothing more than an alias to create  CREATE INDEX columnfamily  CREATE KEYSPACE  CREATE COLUMNFAMILY  CREATE TABLE (CASSANDRA-2743)  DELETE Rational: ‘create an  DROP COLUMNFAMILY alias to be friendlier  DROP INDEX to existing tools’  DROP KEYSPACE  INSERT  SELECT  TRUNCATE 15 total  UPDATE  USE
  • 11. CQL V3, AKA CASSANDRA-3761  About 13 sub-tickets  Most unresolved  It’d be unwise to list features  Any of these could be dropped/altered before V3 is finalized (C* V1.1.1 is the roadmap release for V3)  Backwards incompatibility (hence major version jump)  Not the little project it used to be, would take all night to cover each feature with enough details
  • 12. TERMINOLOGY WAR...  CQL’s changing fast (maybe too fast?)  Terminology looks to be changing  Creating over lap in some places  May become, or already is confusing  Not sure those in charge are seeing it  At a stage where its probably as confusing as other, more complicated C* features  Progress is great, but so is usability & simplicity...
  • 13.
  • 14. COURTNEY ROBINSON @ZCOURTS Thank you for listening. Questions? Links: https://github.com/apache/cassandra/blob/trunk/doc/cql/CQL.textile http://crlog.info/2011/09/17/cassandra-query-language-cql-v2-0-reference/ https://issues.apache.org/jira/browse/CASSANDRA-2743