SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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.
 

Dernier

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Dernier (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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