DSE Cassandra Architecture Overview
Henry Potsangbam
Enterprise Architect TOGAF | eGovernance Head | Capacity Building | Tech Evangelist [BIG Data & Streaming Architecture] | A Learner | Corporate Trainer
DSE Architecture Overview
?
DataStax Enterprise (DSE) Cassandra is a robust, distributed database designed for high scalability and availability. Built on the open-source Apache Cassandra framework, DSE adds several enterprise features that enhance performance, security, and ease of use.
?
Distributed Architecture
Nodes: DSE Cassandra operates as a cluster of nodes, where each node is equal in terms of data storage and processing power. This ensures no single point of failure.
Data Distribution: Data is partitioned across nodes using consistent hashing, allowing for balanced storage and load distribution.
?
CQL (Cassandra Query Language)
SQL-like Interface: CQL provides a familiar query language for interacting with the database, making it easier for developers to work with.
?
Key Features of DataStax Enterprise (DSE) Cassandra:
?
? Advanced Security: Enhanced security features include encryption at rest and in transit, role-based access control, and auditing capabilities to ensure data protection.
? Built-in Search: Integrated Apache Solr for powerful search capabilities, allowing users to perform complex queries over their data.
? Graph Database Support: Supports graph data models through DSE Graph, enabling users to model and query interconnected data efficiently.
? Analytics Integration: Includes built-in capabilities for running real-time analytics on data, allowing for insights without moving data to separate systems.
? Improved Performance: Enhancements in read and write paths, as well as improved compaction strategies, result in better overall performance and lower latency.
? Multi-Model Support: Allows for various data models (key-value, wide-column, and graph) to coexist, providing flexibility in data handling.
? Cloud-Native Features: Supports deployment in cloud environments, facilitating scalability and resource management in cloud-based applications.
? Operational Simplicity: Improved tools for monitoring, management, and maintenance, including features like automated repairs and upgrades.
?
Overall Benefits:
?
? Ideal for organizations that require a scalable, flexible database solution capable of handling large volumes of data while providing high availability and advanced features for complex applications.
?
?
Ever want to review or try it out in your system. You can refer the following to install.
?
Install Docker CE on your system.
Start the Docker.
Create an instance of Linux container:
#docker run -it --name cassandra0 --hostname cassandra0 --privileged --network spark-net -v /Users/henrypotsangbam/Documents/Software:/Software arm64v8/oraclelinux:9 /usr/sbin/init
Open a terminal and perform the following steps:
#docker exec -it cassandra0 bash
Install JDK as follows
#yum install java java-devel
?
Verify the installation. If you have done successfully then it should be shown as below.
?
?
?
Add group and user (cassandra/cassandra) using the following command:
?
groupadd cassandra
adduser -g cassandra cassandra
passwd cassandra
// Enter cassandra as password two times.
?
# vi /etc/sudoers
?
The editor would open the file, now scroll down to the bottom where you will see a line
#User privilege specification
?
root???? ALL=(ALL:ALL) ALL
?
cassandra ALL=(ALL:ALL) ALL
?
Install python 3.9 on the system.
?
#yum update
#yum install openssl-devel bzip2-devel libffi-devel python39
?
Next, Install the libaio package. For example:
?
yum install libaio
?
Download the DSE Cassandra.
领英推荐
?
Start the installation:
?
tar -xvf dse-6.8.50-bin.tar -C /opt
?
The files got extracted into the 6.8.X directory.
Rename the folder.
#cd /opt
mv dse-6.8.50/ dse
?
?
Create the default data and logging directories:
?
/var/lib/cassandra
/var/log/cassandra
?
Using root.
mkdir -p /var/lib/cassandra;
mkdir -p /var/log/cassandra;
?
Using Cassandra log on and assign the permission.
?
#su cassandra
?
sudo chown -R $USER:$GROUP /var/lib/cassandra
?
sudo chown -R $USER:$GROUP /var/log/cassandra
?
Start DataStax Enterprise from the installation directory:
#cd dse
bin/dse cassandra
?
?
?
?
After you saw the above message, open another terminal and execute the following to determine the status.
?
bin/nodetool -u cassandra -pw cassandra status
?
Verify that DataStax Enterprise is running from the installation directory:
?
bin/nodetool status
?
?
?
Start cqlsh from the installation directory:
?
bin/cqlsh
?
?
?
?
Execute the following Query in the above console.
?
?
Query the defined keyspaces using the?SELECT?statement.
?
SELECT * FROM system_schema.keyspaces;
?
?
?
?
Congratulation, you have successfully started DSE and connect using CQL.
?
Next, Let us add one more node to it.