Introduction – A Quick Overview of the RDBMS
An important Relational database is the Structured Query Language (SQL). It is easy to learn and easy to use. It helps to integrate your RDBMS with variety of systems. Relational databases are very good at solving many data problems but it will also be problematic when it comes to scaling. Many of today’s online application have database that exceeds the capabilities of relation database. There is a highly increasing need for low latency, wide distribution of data, ability to read and write data anywhere and the low operational costs. These demands lead to the development of non relational database category.
Non relational databases use different architecture and unique data models to meet the needs of today’s online applications.
What is NoSQL Database
A NoSQL database is used to store and retrieve data other than the tabular relations used in relational databases. NoSQL databases are simple, schema free, speed and handles large amount of data. NoSQL databases uses different data structures and the operations are made faster when compared to relational databases.
What is Cassandra
Cassandra was originally created by Facebook in the year 2008. Cassandra is a database of NoSQL. Cassandra is a distributed database which is designed to manage huge amount of structured data. Cassandra provides continuous availability and easy data distribution across various data centres with no failure point. Cassandra can serve as a operational data store as well as a data base for large scale business intelligence systems. It has very good features which relational databases and other NoSQL database cannot provide to the users.
Cassandra Features and Benefits
Cassandra provides a number of features and benefits for people who are willing to use it for their modern online application.
- Elastic Scalable Architecture
- Open Source
- Schema Free
- Peer to Peer Architecture
- Fast Writes
- Active everywhere design
- Tuneable Consistency
- Linear Scale Performance
- High availability
- Transparent Fault detection and recovery
- Dynamic data model
- Flexible data storage
- Fault Tolerance
- High Performance
- High data protection
- Eventual Data Consistency
- Multi cloud availability zone
- Column Oriented
- Data Compression
- Cassandra Query Language
Areas of Application of Cassandra
Cassandra is used in a number of different applications and these includes the following
- Internet of Things Application
- Product catalogues
- Retail applications
- User activity tracking and Monitoring
- Social Media Analytics and Recommendation engines
- Time series based applications
Cassandra Developer Course Objectives
At the end of this course you will be able to
- Know what is Cassandra in NoSQL
- Understand Cassandra and NoSQL domain
- Learn the benefits of Cassandra and how it is different from relational databases
- Know the basic concepts of Cassandra
- Understand the architecture of Cassandra
- Learn about data models and data modelling in Cassandra
- Know how to use Cassandra with various programming languages
Pre Requisites for taking this course
Target Audience for this course
The target audience for this course are
- Developers who are dealing with high volume of websites
- Data architect who needs to understand the concept of data stores
- Casssandra developer or Database Administrator who wants to learn about the implementation of data stores
- Manager or business owner who wants to understand the benefits of Cassandra and how it can help to increase their business opportunities
- Any student or researcher who is doing a project on Cassandra or who is keen to learn about Cassandra
Cassandra Developer Course Description
Section 1: Introduction to NoSQL- Cassandra Developer
Agenda – Cassandra
This section gives a brief introduction about Cassandra. The other topics included in this section are
- History of Cassandra
- Benefits of Cassandra
- Features of Cassandra
- Difference between Cassandra and Relational Databases
- Cases of Cassandra
Cassandra’s architecture is the reason for its ability to perform and offer continuous availability. Cassandra has a ring type architecture which is easy to install and maintain. The Cassandra architecture is designed to work across multiple nodes. The data is distributed across all the nodes in a cluster. This section contains the following topics
- Cassandra Architecture Overview
- Schematic view of Cassandra Architecture
- Features of nodes in Cassandra
- Data Distribution and Replication in Cassandra
- Replication basics
- Components of Cassandra
- Cassandra Query Language
- Read and Write Operations in Cassandra
- Multi Data Centre and Cloud Support
Section 2: Data Model
Introduction to Data Model
The data model of Cassandra is completely different from the other relational database management systems (RDBMS). Cassandra has a highly denormalized database model to capture and query data. The objects of Cassandra resembles to that of a relational database but the data modelling techniques are completely different. Data modelling is more important topic in Cassandra.
Cassandra Database is distributed across various systems that work together. The outermost part is known as the cluster. To deal with failures every node has a Replica that provides solution to the failure. The nodes in Cassandra are arranged in the form of a ring.
Cassandra Data Objects
The basic objects of Cassandra are included under this section
- Keyspace – This is the outermost covering for a data in Cassandra. The components of Keyspace are Replication factor, Replica placement strategy and Column families. This topic also contains the syntax of Keyspace and the schematic view of the Keyspace.
- Column Family – This is an ordered collection of rows and each row is an ordered collection of columns. The components of column family are keys_cached, rows_cached and preload_row_cached. This chapter also contains the explanation of column, SuperColumn and an example of Cassandra Column Family.
- Table – Tables in Cassandra is able to hold large volume of data. It also facilitates fast reading of rows and column read levels. Here you will learn the syntax to create table, altering the table using Cqlsh, dropping a table and truncate the table using Cqlsh
- Primary Key – This is used to identify unique rows and it also helps to distribute the rows to multiple nodes in a cluster. A primary key is composed of one or more columns in a table.
- Index – It speeds up the read operations of Cassandra. Index can be created by using the command CREATE INDEX and creating an index using Cqlsh and using Java API. You will also learn to drop an index using Cqlsh and Java API. The syntax for each command is explained in detail with example.
Data Model Queries
Query is at the centre of the Cassandra data modelling process. Queries will tell you how the data will be returned and how to find it. The data modelling process starts by specifying the queries. The queries are supported by primary keys. Under this chapter you will learn about the following topics
- Basic goals of data model
- Model around your queries
- Data Model example
In Depth CQL
Cassandra by default provides a Cassandra query language which allows the users to communicate with it. CQL of NoSQL resembles to that of a relational database. This query language is used to define a schema, insert data and execute a query. You will learn about the command to start cqlsh. This section covers various options of Cqlsh and its usage. It also covers the following topics
- Cqlsh Commands
- Documented Shell Commands
- CQL Data Definition Commands – Create Keyspace, Use, Alter Keyspace, Drop Keyspace, Create Table, Alter Table, Drop Table, Truncate, Create Index, Drop Index
- CQL Data Manipulation Commands – Insert, Update, Delete, Batch
- CQL Clauses – Select, Where, Orderby
- CQL Data types – Collection types, User defined data types
- CQL Collections – List, Set, Map
Section 3: Data Modelling
Data Modelling is one of most crucial step to ensure the performance and scalability of Cassandra applications. Data Modelling is a process of finding out the entities or items to be stored and the relationship between such entities. Data Modelling also includes the process of identifying the pattern of data access and the queries that has to be performed.
Cassandra’s data model is a query driven approach. Cassandra’s data model is divided into row store. Rows are organized into tables and then the rows are clustered into columns. Cassandra data modelling focuses mainly on the queries. There are different types of data modelling. The topics covered under this section are
- Overview of the data modelling process
- Basic rules of Cassandra data modelling
- Example of an data modelling process in an IoT application
- Data Modelling concepts
- Data Modelling principles and methodology
- Design techniques and optimization
- Time series data modelling
Data Modelling Example
In this section the data modelling is explained with the help of an example of a music service and it explains how to use compound keys, clustering columns and collections.
Complex queries become a burden if there are large number of rows in multiple tables to handle in Cassandra. This section will help you to learn how to deal with complex queries in Cassandra.
This chapter explains the whiteboard friendliness of the Cassandra Database in detail with few examples.
FAQ’s General Questions
- What is the benefit of learning Cassandra ?
Cassandra is an open source NoSQL database which is used by many companies today. Cassandra has been in the leading position of NoSQL innovation than the other NoSQL variants like MongoDB and CouchDB. Cassandra provides high reliability to the companies using it. A good example is the Facebook which uses Cassandra for storing huge amount of data.
- What are the career benefits of learning Cassandra ?
Cassandra is used by many start up companies as well as large companies. It has become the next generation computing and data platform. Leading companies like Facebook, Twitter, Reddit, IBM and others use Cassandra. The job market of Cassandra is at peak and is growing at a higher rate. Thus learning Cassandra will help you to get a better job in a better company. If you are a already working professional Cassandra certification will help you to perform your job better and get a hike in your salary.
This beginner level course on Cassandra gives an outline of the problems encountered by using relational databases. It helped me to know how Cassandra faces those challenges. The course reviews the Cassandra architecture and Cassandra data modelling in detail with few examples. It also explains the read and write paths of Cassandra which helped me to work with Cassandra on my own after completing this course. Overall this is a great course on Cassandra.
From this course I was able to learn the fundamentals of Cassandra, its architecture and the data models of Cassandra. The content of the course was awesome and it was in a simple language to make us understand the concept with ease. The concepts of read path and write path made me excel in Cassandra. The best part of the course was that lot of real life use cases were given for easy learning and understanding of the concepts.
This is a great course on Cassandra of NoSQL database. I am working as a cassandra developer. I had some basic knowledge about NoSQL databases before taking up this course. And I was in a need to know about the Cassandra database for my work purpose. This course served my purpose. It helped me to learn about the basics of the Cassandra data base in detail. It started with introduction to Cassandra and travelled through all the basic concepts of Cassandra. The flow of the course was very good. Examples and use cases of the concepts made the learning process easy. Totally a good course on Cassandra and highly recommended.
|Where do our learners come from?|
|Professionals from around the world have benefited from eduCBA’s Cassandra Developer courses. Some of the top places that our learners come from include New York, Dubai, San Francisco, Bay Area, New Jersey, Houston, Seattle, Toronto, London, Berlin, UAE, Chicago, UK, Hong Kong, Singapore, Australia, New Zealand, India, Bangalore, New Delhi, Mumbai, Pune, Kolkata, Hyderabad and Gurgaon among many.|