What you'll learn

Level: Intermediate and Advanced

Yugabyte Cloud Query Language (YCQL) is a semi-relational SQL API that is inspired by Apache Cassandra’s Query Language (CQL). YCQL supports strongly consistent secondary indexes, a native JSONB column type, and distributed transactions.

Designed for developers who are new to distributed SQL database development, this course provides a unique learning experience. By watching learning videos and completing hands-on lab exercises with Gitpod powered VS Code Browser Jupyter notebooks, you will learn more than just the fundamentals of data definition language and data manipulation language of YCQL. You will dive deep into how YCQL is a distributed SQL database language.

With the goal of demystifying key concepts such as partition keys, clustering keys, and tablets, you will explore how the DDL of a table affects not only the distribution of data, but also the very data stored on disk. As many students already know about traditional relational databases, this course also offers a practical methodology for the modeling of semi-relational data, known as query-driven, data modeling. Additional course topics include understanding the nuances of YCQL such as time-to-live, upserts, collections, JSONB, and secondary indexes.

After completion of this course, students can complete a free certification exam.


Wanted: Developers and Architects

You should already be familiar with YugabyteDB concepts, terminology, and features. Additional experience with semi-relational data models, CQL, SQL, YCQL, and Bash shell scripting is helpful.


What you'll need

  • Operating System
    macOS 10.12+, Ubuntu 16.04+, or Windows+

  • Chromium web browser
    Chrome, Opera, or Microsoft Edge

  • YugabyteDB Managed sandbox cluster

  • YugabyteDB Community Slack account

  • GitHub account

Course agenda

Duration: 180 minutes

  1. 01
    • 👋 Welcome!

  2. 02
    • DDL: Create table

    • DDL: Data types

    • DML: Select

    • DML: Insert, update, delete, and more

    • DML: Built-in functions

    • Knowledge check

  3. 03
    • Logical data model

    • Data access patterns

    • Physical data model

    • Optimization and tuning: Query plans

    • Optimization and tuning: Secondary indexes

    • Knowledge check

  4. 04
    • JSONB: DML and secondary indexes

    • Knowledge check

  5. 05
    • 🧪 [LAB]: YCQL Development with Gitpod

  6. 06
    • 📚 Additional resources

    • 🦶Next Steps

    • 🧰 Your YugabyteDB skill on LinkedIn

    • 🏆 Learning Path Tracker

Digital Badge

Developer: YCQL Development

A digital badge is proof of completion. The badge establishes your credentials and validates your expertise.

After completing this course, you will receive a digital badge. With a few clicks, you can easily add your digital badge to your LinkedIn profile.
Developer: YCQL Development


The answers you seek

  • What is the cost?

    YugabyteDB University courses are FREE, so enroll today!

  • For this course, do I need to purchases a YugabyteDB software license?

    You do not need to purchase a YugabyteDB software license for this course. YugabyteDB is open source software.

    You can sign up for Yugabyte Cloud Free cluster without a credit card or payment method.

  • Do I need to sign up for a YugabyteDB Managed Free cluster?


    Most of our courses require a YugabyteDB Managed cluster, so an on-demand YugabyteDB Managed cluster is a great option. However, the labs in this course use Gitpod. A 3 node YugabyteDB cluster runs in your Gitpod environment.

  • Sometimes I get stuck. How can I get help?

    If you get stuck, help is a literally a click away. In the Course Player header bar, select Discussions and post a question, concern, or even suggestion.

    We also have a #training channel on YugabyteDB Public Slack.