Apache Cassandra Overview

Overview of the Apache Cassandra Database Service

Cassandra

Cassandra is a NoSQL, distributed database management system. BotCaptain provides an optional Cassandra connector for big data needs.

The Cassandra implementation for BotCaptain is designed to store team member information, log all user messages in a group message system, provide information on tasks, set reminders for meetings, and ultimately perform real-time sentiment analysis on team member interactions using an Apache Spark connector.

From a database perspective, BotCaptain does not depend on reading data to fulfill its intended purposes so ACID compliance is not required. Cassandra made the most sense to use for larger data needs as it prioritizes writes over reads, designed to support specific application reads with its data model, and can connect with Apache Spark for sentiment analysis.

Use Cases

Cassandra is ideal for applications with heavy writes, so it would be used for courses with hundreds of students or for Massive Online Open Courses (MOOCs).

Another use case would be to provide students better performance by geographically distributing the Cassandra database to nearby servers. This would again be useful for MOOCs or for online courses in general.

Installation on DataStax

Cassandra is open source and can be deployed on any cloud provider. We recommend using the DataStax Astra platform to host a Cassandra database as they provide the best support for Cassandra-driven applications.

Setup an account here.

After completing registration, you should see the dashboard overview. Now, you will need to create your database.

Click the “Add Database” button on the right side of the dashboard. Select the Free tier, your choice of cloud provider, and the nearest Region. For the “Configure and Create Database” prompt, set the Database Name as “botcaptain” and the keyspace name as “users”. Set your own username and password.

You should now be redirected to the dashboard overview with your newly added database visible.

Next, you will need to download the secure-connect-bundle.zip folder to connect botcaptain to your cassandra database.

Click the “Connect” button on the botcaptain database tile.

You should now see the database connect view.

Download the secure-connect-bundle by clicking the “Download Bundle” button.

After you have downloaded the secure-connect-bundle, you will need to reference the path of the zip file in your config file. It is recommended that you place the file in the “Resource” directory under botcaptain.