= Watch the Cassandra World Party
:page-layout: single-post
:page-role: blog-post
:page-post-date: August 4, 2022
:page-post-author: Cassandra Community
:description: Apache Cassandra World Party 2022 recap
:keywords: apache cassandra, CWP, 2022, stream

image::blog/apache-cassandra-world-party-logo.png[link="https://www.cassandraworldparty.org/",window="_blank" alt="Apache Cassandra World Party 2022"]

Thank you to everyone who made the second annual https://www.cassandraworldparty.org/[Cassandra World Party^] a great success!

The one-day virtual, free-to-attend event united the global community, and we were once again able to celebrate the people and the technology behind Apache Cassandra—while also having a lot of fun!

We are particularly grateful to all our speakers and moderators (*Ben Bromhead*, *Chris Bradford*, *Ekaterina Dimitrova*, *Jeremy Hanna*, *Patrick Mcfadin* and *Erick Ramirez*), who steered the ship well, especially during the odd technical glitch. 

=== Catchup on the Cassandra Talks

Don’t worry if you missed out, you can now watch all the 1-hour livestream recordings for each timezone session on the https://www.youtube.com/playlist?list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK[Planet Cassandra^] YouTube channel. 
https://youtu.be/aK-H58ZXcuQ[Session 1*^]: July 20 1200 UTC
https://youtu.be/P-aAeUH5drY[*Session 2*^]: July 20 1800 UTC
https://youtu.be/_kkx8f96j0M[*Session 3*^]: July 21 0100 UTC

:!figure-caption:

.[.small]#The party was streamed live across three timezones, with 5-five-minute lightning talks, an interactive quiz, and plenty of community chatter.#
image::blog/CWP-stream1.png[Cassandra World Party stream]

Alternatively, you can dive straight into the individual five-minute talks:

==== Session 1:

https://www.youtube.com/watch?v=wJzHQxYQ0z8&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK[Getting To Know (Apache) Cassandra^] - Sharan Foga

https://www.youtube.com/watch?v=Uy1dsLEay7k&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=2[Data Visualisation With Apache Cassandra And Grafana^] - Aleks Volochnev

https://www.youtube.com/watch?v=TxtjrEj9xeQ&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=3[Cleaning Large-Scale Data In Cassandra^] - Rahul Xavier Singh

https://www.youtube.com/watch?v=FWIReotKZaw&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=4[Tightening Security For Apache Cassandra^] - Maulin Vasavada

https://www.youtube.com/watch?v=c-WIkD9t2pk&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=5[Where's This Journey Taking Us, What's Next For Cassandra?^] - Mick Semb Wever

video::c-WIkD9t2pk[youtube,640,360]

==== Session 2:

https://www.youtube.com/watch?v=izDu5otmL04&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=6[Safe Os/System Upgrade By Rebooting^] - Serban Teodorescu

https://www.youtube.com/watch?v=FhYjVkKtKcg&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=7[Cassandra-Backed Streaming Graph With Quine^] - Ryan Wright

https://www.youtube.com/watch?v=GXcvIuCMDvM&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=8[Improved Snapshots In Cassandra 4.1^] - Paulo Motta

https://www.youtube.com/watch?v=bZEkuSE5o24&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=9[What Is Netflix Waiting For In Apache Cassandra 4.X?^] - Vinay Chella

video::bZEkuSE5o24[youtube,640,360]

==== Session 3:

https://www.youtube.com/watch?v=fZg0LtB5_Lc&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=11[Using SSTable Immutability For Incremental Backup^] - Manish Khandelwal

https://www.youtube.com/watch?v=29LIDlA5ffo&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=12[Monitoring Cassandra^] - Michiel Saelen

https://www.youtube.com/watch?v=hQrfCwQC6ak&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=13[Using Authorizer With CassandraDB^] - Lakhan Samani

https://www.youtube.com/watch?v=DC56dgXNAaw&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=14[Practice Of Cassandra In Instant Messaging Application^] - GuoWen Hong

https://www.youtube.com/watch?v=wNsUXmu1Kpc&list=PLqcm6qE9lgKIPuvU06QpbSCaA7SkXQQtK&index=10[Cassandra In Online Education (Chinese)^] - Li Li 

video::wNsUXmu1Kpc[youtube,640,360]

=== Thank you, sponsors!

The 2022 Cassandra World Party was possible due to the commitment and support of our official sponsors. A huge thank you goes to https://axonops.com/[AxonOps^] and https://www.datastax.com/[DataStax^]! 

image:blog/CWP-sponsors/axonops.svg[link="https://axonops.com",window="_blank" alt=AxonOps,width=300]

image:blog/CWP-sponsors/datastax.png[link="https://www.datastax.com/",window="_blank" alt=DataStax,width=300]

=== Join us

If our event has piqued your interest in contributing to the project, you can https://cassandra.apache.org/_/community.html[connect with the community in various ways here^]. Just remember to introduce yourself and say hello; we have mentors happy to help you get started.