DEV Community

Cover image for Hello world!

Posted on • Updated on

Hello world!

Hello world.

Happy Learning Day!

While there is a "Digital Learning Day" on September 15th, I am talking about today and every day. Because I have just learnt that every day is learning day. And especially in these tough isolated times, learning is probably the greatest of our friends. Let's all make use of this time, I know I'm trying.

I am Soumya.
New here.
Aspiring cinema artist.

The first thing you should know before going on is that I'm a complete beginner in the coding and programming world. What I am though, is immensely curious. And that makes me eligible enough to start. The wonders of technology have amused me forever but my interest in learning how it works peaked because of my elder brother who is a software engineer. He has imparted technical knowledge to me several times while explaining how the internet works, how we get search results and how cyber security works. If not for that knowledge, I'd have gone in a downward spiral of frauds on internet, not knowing right from wrong. This is why, a layman like me wants to know more and spread awareness about technology.

I always wanted to understand when someone used technical jargon like "language", "modelling", "command" because to someone like me, "language" means the country language, "modelling" means a profession and "command" means ordering (I mean it is the same in technology too but still). I used to think I'm tech savvy because I know how to cut copy paste, I can type at a normal speed or use Adobe Creative Suite. But there's so much more. And I didn't know where to start, can't ask everything from my brother too, right? I mean, the guy has a real time job apart from babysitting a curios kid!

Now-a-days, I am doing workshops in different areas because hey, as Naval Ravikant sir say, "Specialisation is for insects."
This is the first time ever Instagram suggestions/ads have actually helped me (because we all know about the shopping downward spiral). So, I found this "NoSQL Cassandra Workshop" thingy. It caught my attention because it said beginners can join. You don't have to have coding knowledge and I saw an opportunity to learn on my own too.

"At first I was afraid, I was petrified..."

I sure was nervous when I started the workshop because I had a feeling, I wouldn't understand a single thing. But to my surprise, the way the team explained things was plain and simple, it was not complicated terms and long definitions, it didn't start off in the middle like everyone was an expert. They even said it's fine if you "don't know what a database is" and that's when I knew it was for me. As they asked what was the purpose of attending this workshop and what experience people had in this field, most people were like me - new to this, wanting to explore.

The workshop was divided in two parts - theory and practical. The theory part dealt with necessary information about nodes, clusters, how Cassandra works, what are its features and some definitions of the workspace and workflow. The second part was about exploring. We were given a link to a repo on GitHub for the workshop which had commands and operations to execute. At the end of the practical session, the participants were able to create a database in Astra - A DataStax platform built on Apache Cassandra. This database "simplifies cloud-native Cassandra application development."

You can watch the recording here: Workshop

The workshop had started with basics and definitions of how data is stored in Apache Cassandra. The participants were told about "nodes"(where data is stored), "clusters" (A collection of nodes representing the same system) and "rings" (is a set of instances installed into different server nodes, forming a cluster of nodes). The distinguishing features of Cassandra were told such as availability and geographical distribution. Next, we were told about partitioning - partition key (responsible for distributing data), partitioner (assigns a range to each node), hashing (the process of transforming any given key or a string of characters into another value) and replication factor or RF (the number of nodes where data is replicated.) The workshop moved on to Data Structure (cell, row, column, table). We were introduced to data Modelling next. Types of Data Modelling (Conceptual, Logical and Physical) and data Modelling Techniques (Entity-relationship model and relational technique) were discussed in detail. The session wrapped up with a practical CRUD (Create, Read, Update, Delete) operation.

I feel there's something very exciting about discovering and learning from oneself, it empowers you in a way, makes you feel independent. And let's be honest, as a student/intern or someone who is currently unemployed, not all of us have money to spare for learning and investing in ourselves. That's one of the great things about this workshop - it's free. It's live, informative, interactive and free.

The fun part apart from learning was that the mentors gave prizes to top three people who answered correctly the fastest in the quiz, we all were given links to get our free certificate voucher and we were given homework to earn a badge as well. I feel, this positive reinforcement or reward-based system develops one's interest in learning more and getting better. I loved the whole session and I think I'll keep learning further. To be honest, this session alone gave me some self-confidence that no matter when you begin and how different something is from what you know or do, you can always learn.


Some interesting features of Cassandra:

  1. It is table-based.
  2. Cassandra chooses "home nodes" according to our chosen RF.
  3. There's no "master node" or "slave node", they are all the same. There is no single point of failure. (Man, the world has a lot to learn from Cassandra, huh?)
  4. A "hinted hand-off" is a ready-to-send instruction to a damaged node to revive the data it had.
  5. CAP Theorem or Brewer's Theorem given by the computer scientist Eric Brewer is a theorem that states one can not have guarantee of all three things (Consistency, Availability and Partition Tolerance) simultaneously.
  6. Cassandra is an AP System (Availability and Partition Tolerance considered more important than Consistency).
  7. We can set a consistency level - "Any", "1", "2,3", Quorum (Getting acknowledgement from majority of nodes) and "All".

I sat for the 2 hour workshop, taking notes, asking questions, participating and engaging. The team and our hosts Ryan Welford and Stefano answered all types of queries and never made anyone feel like an amateur. I had fun which I missed even in computer classes at school. So if you are like me, someone with no knowledge in this area, you can always find DatatStax workshops on YouTube and learn more about it on their website!



So, what did you learn today?

Cover Image Credits: Joshua Sortino, Unsplash

Top comments (0)