Girl Develop It San Francisco
I was so excited when I saw that Datastax was offering a few free passes to the Cassandra Summit for Girl Develop It San Francisco members. Shortly after I received the announcement in an email, I sent a request for a ticket. I was thrilled when I received a ticket. Since April, when I found out that Cassandra was part of Intuit’s tech stack, I have wanted to “play” with Cassandra. I have wondered what kind of database was capable of holding that much data?
I realized once I received the ticket that I was going to have to spend some time learning how to use Cassandra. All of my experience at Hackbright was with PostgreSQL. While I have heard a few talks on NoSQL databases (Firebase, Dynamo, RethinkDB), I knew there was a lot more to learn.
Thankfully, DataStax offers free online classes for Cassandra. I first took DS101: Introduction to Apache Cassandra. Then, I completed DS201: DataStax Enterprise Foundations of Apache Cassandra. This past weekend, I started DS220: Data Modeling, which has both a class component and a set of exercises. Since I was preparing for the Box hackathon, I did not complete as much of the class as I had hoped. However, I knew enough about how Cassandra works because the first two classes (101 and 201) are quite thorough – and include quizzes.
I spent most of my time in sessions in the Beginner Development track. My favorite sessions were:
- From Postgres to Cassandra: The speaker did a good job of explaining the use cases. Also, since I am familiar with Postgres, the speaker’s translation of how things are done in Postgres versus Cassandra helped me to better understand differences in how the databases work. Also, he mentioned that Postgres has a foreign data wrapper that allows it to talk to other databases, including Cassandra — and he gave an overview and a citation to bitbucket on how to do it.
- Modeling Always On: Building Highly Available Applications on Cassandra: The speaker gave really good examples of what not to do, but from the perspective of how to set up and plan to avoid problems in the first place. He also had a lot of good suggestions on how to troubleshoot when issues arise.
- Data Modeling a Scheduling App: The speaker discussed, step by step, the data modeling process for Cassandra. It was eye-opening for me because: the focus in Cassandra is on querying data, there are no joins (I knew this but it becomes more meaningful when modeling data) and data is stored multiple times — all of which is completely different from RDBMS. Also, one of the steps in his process was quite practical: he had mockups of the web pages and worked backward to figure out what queries he would need to populate the page and/ or store data. Also, this gives me an idea of what to build to practice with Cassandra.
- Scalable Data Modelling By Example: The speaker had a similar data modeling process to the scheduling app talk. However, this speaker was more detailed and analytical – he had checklists and formulas. The most helpful was a formula to determine whether a planned partition would grow too big.
One other thing about the Cassandra Summit that was really neat: the attendees and the speakers were from all over the world: Spain, Australia, India, Russia, Vietnam, and so many other places. I loved hearing all of the accents and perspectives!