SlideShare ist ein Scribd-Unternehmen logo
1 von 20
CASSANDRA
A Basic Introduction Guide
Mohammed Fazuluddin
TOPICS
• Overview
• Cassandra Features
• Cassandra Architecture
• NoSQL Cassandra Database Vs Relational databases
• Data Model
• Cassandra Use cases/Applications
• Components Of Cassandra
• Cassandra Data Replication
• Supported Programming Languages
• Pro’s and Con’s
OVERVIEW
• The Apache Cassandra database is the right choice when you need scalability and high
availability without compromising performance.
• Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure
make it the perfect platform for mission-critical data.
• Cassandra's support for replicating across multiple datacenters is best-in-class, providing
lower latency for your users and the peace of mind of knowing that you can survive regional
outages.
• Cassandra is a distributed database management system designed for handling a high
volume of structured data across commodity servers
• Cassandra handles the huge amount of data with its distributed architecture.
• Data is placed on different machines with more than one replication factor that provides
high availability and no single point of failure.
CASSANDRA FEATURES
CASSANDRA FEATURES
• Massively Scalable Architecture: Cassandra has a masterless design where all
nodes are at the same level which provides operational simplicity and easy scale out.
• Masterless Architecture: Data can be written and read on any node.
• Linear Scale Performance: As more nodes are added, the performance of
Cassandra increases.
• No Single point of failure: Cassandra replicates data on different nodes that
ensures no single point of failure.
• Fault Detection and Recovery: Failed nodes can easily be restored and recovered.
CASSANDRA FEATURES
• Flexible and Dynamic Data Model: Supports datatypes with Fast writes and reads.
• Data Protection: Data is protected with commit log design and build in security like backup
and restore mechanisms.
• Tunable Data Consistency: Support for strong data consistency across distributed
architecture.
• Multi Data Center Replication: Cassandra provides feature to replicate data across multiple
data center.
• Data Compression: Cassandra can compress up to 80% data without any overhead.
• Cassandra Query language: Cassandra provides query language that is similar like SQL
language. It makes very easy for relational database developers moving from relational
database to Cassandra.
CASSANDRA ARCHITECTURE
CASSANDRA ARCHITECTURE
NOSQL CASSANDRA DATABASE VS
RELATIONAL DATABASES
DATA MODEL
DATA MODEL
CASSANDRA USE CASES/APPLICATION
• Messaging
• Cassandra is a great database for the companies that provides Mobile phones and messaging
services. These companies have a huge amount of data, so Cassandra is best for them.
• Internet of things Application
• Cassandra is a great database for the applications where data is coming at very high speed from
different devices or sensors.
• Product Catalogs and retail apps
• Cassandra is used by many retailers for durable shopping cart protection and fast product catalog
input and output.
• Social Media Analytics and recommendation engine
• Cassandra is a great database for many online companies and social media providers for analysis and
recommendation to their customers.
COMPONENTS OF CASSANDRA
COMPONENTS OF CASSANDRA
• NodeNode
• is the place where data is stored. It is the basic component of Cassandra.
• Data Center
• A collection of nodes are called data center. Many nodes are categorized as a data center.
• Cluster
• The cluster is the collection of many data centers.
• Commit Log
• Every write operation is written to Commit Log. Commit log is used for crash recovery.
• Mem-table
• After data written in Commit log, data is written in Mem-table. Data is written in Mem-table
temporarily.
• SSTable
• When Mem-table reaches a certain threshold, data is flushed to an SSTable disk file.
CASSANDRA DATA REPLICATION
• Cassandra places replicas of data on different nodes based on these two factors.
• Where to place next replica is determined by the Replication Strategy.
• While the total number of replicas placed on different nodes is determined by
the Replication Factor.
• One Replication factor means that there is only a single copy of data while three
replication factor means that there are three copies of the data on three different
nodes.
• For ensuring there is no single point of failure, replication factor must be there.
CASSANDRA DATA REPLICATION
• SimpleStrategy
• SimpleStrategy is used when you have just one data center.
• SimpleStrategy places the first replica on the node selected by the partitioner.
• After that, remaining replicas are placed in clockwise direction in the Node ring.
• NetworkTopologyStrategy
• NetworkTopologyStrategy is used when you have more than two data centers.
• In NetworkTopologyStrategy, replicas are set for each data center separately.
NetworkTopologyStrategy places replicas in the clockwise direction in the ring until
reaches the first node in another rack.
• This strategy tries to place replicas on different racks in the same data center. This is due
to the reason that sometimes failure or problem can occur in the rack. Then replicas on
other nodes can provide data.
SUPPORTED PROGRAMMING
LANGUAGES
• Java:
• You can find the DataStax Java driver at https://github.com/datastax/java-driver and the Hector Java
client at http://hector-client.github.io/hector/build/html/index.html
• Python:
• You can download the drivers for Pythons such as Pycassa at http://github.com/pycassa/pycassa and the
DataStax Python CQL driver at https://github.com/datastax/python-driver
• Node.js:
• You can find the Node.js driver Helenus at https://github.com/simplereach/helenus
• PHP:
• You can find the Cassandra PDO driver at http://code.google.com/a/apache-extras.org/p/cassandra-
pdo/
PRO’S AND CON’S
• Pro’s
• Cassandra database automatically replicate the data of failed node to another node
without any halt in work.
• Cassandra database provide horizontal scaling, and enhance performance with increase
load.
• Cassandra is durable and provide data consistency, which makes it best fit to hold critical
data of companies
• Cassandra provides simple query language (CQL) ,very much similar to relational
database and so easily adaptable by developers.
PRO’S AND CON’S
• Con’s
• Performance is unpredictable, as all the background task are executed in random way
and are not scheduled by users.
• Here data is modelled around queries instead of its structure due to which same data is
store multiple times.
• To store huge amount of data, JVM is required to manage the memory which itself is a
language, and so garbage collection is not done by application but by a language in
Cassandra.
THANKS
If you feel that it is helpful and worthy to share with others then please like and share the same.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Cassandra training
Cassandra trainingCassandra training
Cassandra training
 
Webinar: DataStax Training - Everything you need to become a Cassandra Rockstar
Webinar: DataStax Training - Everything you need to become a Cassandra RockstarWebinar: DataStax Training - Everything you need to become a Cassandra Rockstar
Webinar: DataStax Training - Everything you need to become a Cassandra Rockstar
 
Cassandra Architecture FTW
Cassandra Architecture FTWCassandra Architecture FTW
Cassandra Architecture FTW
 
Cassandra
CassandraCassandra
Cassandra
 
Running Cassandra on Amazon EC2
Running Cassandra on Amazon EC2Running Cassandra on Amazon EC2
Running Cassandra on Amazon EC2
 
Cassandra at eBay - Cassandra Summit 2013
Cassandra at eBay - Cassandra Summit 2013Cassandra at eBay - Cassandra Summit 2013
Cassandra at eBay - Cassandra Summit 2013
 
Database Architecture & Scaling Strategies, in the Cloud & on the Rack
Database Architecture & Scaling Strategies, in the Cloud & on the Rack Database Architecture & Scaling Strategies, in the Cloud & on the Rack
Database Architecture & Scaling Strategies, in the Cloud & on the Rack
 
Cisco: Cassandra adoption on Cisco UCS & OpenStack
Cisco: Cassandra adoption on Cisco UCS & OpenStackCisco: Cassandra adoption on Cisco UCS & OpenStack
Cisco: Cassandra adoption on Cisco UCS & OpenStack
 
Managing Objects and Data in Apache Cassandra
Managing Objects and Data in Apache CassandraManaging Objects and Data in Apache Cassandra
Managing Objects and Data in Apache Cassandra
 
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
Cassandra Community Webinar: Apache Spark Analytics at The Weather Channel - ...
 
Cassandra tutorial
Cassandra tutorialCassandra tutorial
Cassandra tutorial
 
Managing (Schema) Migrations in Cassandra
Managing (Schema) Migrations in CassandraManaging (Schema) Migrations in Cassandra
Managing (Schema) Migrations in Cassandra
 
Apache Cassandra in the Real World
Apache Cassandra in the Real WorldApache Cassandra in the Real World
Apache Cassandra in the Real World
 
Cassandra NoSQL Tutorial
Cassandra NoSQL TutorialCassandra NoSQL Tutorial
Cassandra NoSQL Tutorial
 
Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...
Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...
Building a Pluggable Analytics Stack with Cassandra (Jim Peregord, Element Co...
 
Beyond Aurora. Scale-out SQL databases for AWS
Beyond Aurora. Scale-out SQL databases for AWS Beyond Aurora. Scale-out SQL databases for AWS
Beyond Aurora. Scale-out SQL databases for AWS
 
Apache Cassandra training. Overview and Basics
Apache Cassandra training. Overview and BasicsApache Cassandra training. Overview and Basics
Apache Cassandra training. Overview and Basics
 
Cassandra Distributions and Variants
Cassandra Distributions and VariantsCassandra Distributions and Variants
Cassandra Distributions and Variants
 
Cassandra architecture
Cassandra architectureCassandra architecture
Cassandra architecture
 
Pythian: My First 100 days with a Cassandra Cluster
Pythian: My First 100 days with a Cassandra ClusterPythian: My First 100 days with a Cassandra Cluster
Pythian: My First 100 days with a Cassandra Cluster
 

Ähnlich wie Cassandra - A Basic Introduction Guide

04-Introduction-to-CassandraDB-.pdf
04-Introduction-to-CassandraDB-.pdf04-Introduction-to-CassandraDB-.pdf
04-Introduction-to-CassandraDB-.pdf
hothyfa
 
Using Apache Cassandra and Apache Kafka to Scale Next Gen Applications
Using Apache Cassandra and Apache Kafka to Scale Next Gen ApplicationsUsing Apache Cassandra and Apache Kafka to Scale Next Gen Applications
Using Apache Cassandra and Apache Kafka to Scale Next Gen Applications
Data Con LA
 
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Johnny Miller
 

Ähnlich wie Cassandra - A Basic Introduction Guide (20)

cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Apache Cassandra introduction
Apache Cassandra introductionApache Cassandra introduction
Apache Cassandra introduction
 
Highly available, scalable and secure data with Cassandra and DataStax Enterp...
Highly available, scalable and secure data with Cassandra and DataStax Enterp...Highly available, scalable and secure data with Cassandra and DataStax Enterp...
Highly available, scalable and secure data with Cassandra and DataStax Enterp...
 
BigData Developers MeetUp
BigData Developers MeetUpBigData Developers MeetUp
BigData Developers MeetUp
 
04-Introduction-to-CassandraDB-.pdf
04-Introduction-to-CassandraDB-.pdf04-Introduction-to-CassandraDB-.pdf
04-Introduction-to-CassandraDB-.pdf
 
Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
 
Using Apache Cassandra and Apache Kafka to Scale Next Gen Applications
Using Apache Cassandra and Apache Kafka to Scale Next Gen ApplicationsUsing Apache Cassandra and Apache Kafka to Scale Next Gen Applications
Using Apache Cassandra and Apache Kafka to Scale Next Gen Applications
 
cassandra_presentation_final
cassandra_presentation_finalcassandra_presentation_final
cassandra_presentation_final
 
How to Set Up ApsaraDB for RDS on Alibaba Cloud
How to Set Up ApsaraDB for RDS on Alibaba CloudHow to Set Up ApsaraDB for RDS on Alibaba Cloud
How to Set Up ApsaraDB for RDS on Alibaba Cloud
 
Cassandra - A Distributed Database System
Cassandra - A Distributed Database System Cassandra - A Distributed Database System
Cassandra - A Distributed Database System
 
Cassandra for mission critical data
Cassandra for mission critical dataCassandra for mission critical data
Cassandra for mission critical data
 
Cassandra - A decentralized storage system
Cassandra - A decentralized storage systemCassandra - A decentralized storage system
Cassandra - A decentralized storage system
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena EdelsonStreaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
 
Cassandra implementation for collecting data and presenting data
Cassandra implementation for collecting data and presenting dataCassandra implementation for collecting data and presenting data
Cassandra implementation for collecting data and presenting data
 
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
Apache Cassandra For Java Developers - Why, What and How. LJC @ UCL October 2014
 
Cassandra at Pollfish
Cassandra at PollfishCassandra at Pollfish
Cassandra at Pollfish
 
Cassandra at Pollfish
Cassandra at PollfishCassandra at Pollfish
Cassandra at Pollfish
 
Vitalii Bondarenko - “Azure real-time analytics and kappa architecture with K...
Vitalii Bondarenko - “Azure real-time analytics and kappa architecture with K...Vitalii Bondarenko - “Azure real-time analytics and kappa architecture with K...
Vitalii Bondarenko - “Azure real-time analytics and kappa architecture with K...
 
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
Large Scale Data Analytics with Spark and Cassandra on the DSE PlatformLarge Scale Data Analytics with Spark and Cassandra on the DSE Platform
Large Scale Data Analytics with Spark and Cassandra on the DSE Platform
 
Aruman Cassandra database
Aruman Cassandra databaseAruman Cassandra database
Aruman Cassandra database
 

Mehr von Mohammed Fazuluddin

Mehr von Mohammed Fazuluddin (20)

DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
 
New Relic Basics
New Relic BasicsNew Relic Basics
New Relic Basics
 
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
 
Rest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API SecurityRest API Security - A quick understanding of Rest API Security
Rest API Security - A quick understanding of Rest API Security
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Mule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service BusMule ESB - An Enterprise Service Bus
Mule ESB - An Enterprise Service Bus
 
Docker - A Quick Introduction Guide
Docker - A Quick Introduction GuideDocker - A Quick Introduction Guide
Docker - A Quick Introduction Guide
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Rest API Design Rules
Rest API Design RulesRest API Design Rules
Rest API Design Rules
 
Scrum process framework
Scrum process frameworkScrum process framework
Scrum process framework
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
UI architecture & designing
UI architecture & designingUI architecture & designing
UI architecture & designing
 
Data streaming fundamentals
Data streaming fundamentalsData streaming fundamentals
Data streaming fundamentals
 
Microservice's in detailed
Microservice's in detailedMicroservice's in detailed
Microservice's in detailed
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
Java workflow engines
Java workflow enginesJava workflow engines
Java workflow engines
 
Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache framework
 
Cloud computing and data security
Cloud computing and data securityCloud computing and data security
Cloud computing and data security
 
Java Security Framework's
Java Security Framework'sJava Security Framework's
Java Security Framework's
 
Security Design Concepts
Security Design ConceptsSecurity Design Concepts
Security Design Concepts
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Cassandra - A Basic Introduction Guide

  • 1. CASSANDRA A Basic Introduction Guide Mohammed Fazuluddin
  • 2. TOPICS • Overview • Cassandra Features • Cassandra Architecture • NoSQL Cassandra Database Vs Relational databases • Data Model • Cassandra Use cases/Applications • Components Of Cassandra • Cassandra Data Replication • Supported Programming Languages • Pro’s and Con’s
  • 3. OVERVIEW • The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. • Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. • Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages. • Cassandra is a distributed database management system designed for handling a high volume of structured data across commodity servers • Cassandra handles the huge amount of data with its distributed architecture. • Data is placed on different machines with more than one replication factor that provides high availability and no single point of failure.
  • 5. CASSANDRA FEATURES • Massively Scalable Architecture: Cassandra has a masterless design where all nodes are at the same level which provides operational simplicity and easy scale out. • Masterless Architecture: Data can be written and read on any node. • Linear Scale Performance: As more nodes are added, the performance of Cassandra increases. • No Single point of failure: Cassandra replicates data on different nodes that ensures no single point of failure. • Fault Detection and Recovery: Failed nodes can easily be restored and recovered.
  • 6. CASSANDRA FEATURES • Flexible and Dynamic Data Model: Supports datatypes with Fast writes and reads. • Data Protection: Data is protected with commit log design and build in security like backup and restore mechanisms. • Tunable Data Consistency: Support for strong data consistency across distributed architecture. • Multi Data Center Replication: Cassandra provides feature to replicate data across multiple data center. • Data Compression: Cassandra can compress up to 80% data without any overhead. • Cassandra Query language: Cassandra provides query language that is similar like SQL language. It makes very easy for relational database developers moving from relational database to Cassandra.
  • 9. NOSQL CASSANDRA DATABASE VS RELATIONAL DATABASES
  • 12. CASSANDRA USE CASES/APPLICATION • Messaging • Cassandra is a great database for the companies that provides Mobile phones and messaging services. These companies have a huge amount of data, so Cassandra is best for them. • Internet of things Application • Cassandra is a great database for the applications where data is coming at very high speed from different devices or sensors. • Product Catalogs and retail apps • Cassandra is used by many retailers for durable shopping cart protection and fast product catalog input and output. • Social Media Analytics and recommendation engine • Cassandra is a great database for many online companies and social media providers for analysis and recommendation to their customers.
  • 14. COMPONENTS OF CASSANDRA • NodeNode • is the place where data is stored. It is the basic component of Cassandra. • Data Center • A collection of nodes are called data center. Many nodes are categorized as a data center. • Cluster • The cluster is the collection of many data centers. • Commit Log • Every write operation is written to Commit Log. Commit log is used for crash recovery. • Mem-table • After data written in Commit log, data is written in Mem-table. Data is written in Mem-table temporarily. • SSTable • When Mem-table reaches a certain threshold, data is flushed to an SSTable disk file.
  • 15. CASSANDRA DATA REPLICATION • Cassandra places replicas of data on different nodes based on these two factors. • Where to place next replica is determined by the Replication Strategy. • While the total number of replicas placed on different nodes is determined by the Replication Factor. • One Replication factor means that there is only a single copy of data while three replication factor means that there are three copies of the data on three different nodes. • For ensuring there is no single point of failure, replication factor must be there.
  • 16. CASSANDRA DATA REPLICATION • SimpleStrategy • SimpleStrategy is used when you have just one data center. • SimpleStrategy places the first replica on the node selected by the partitioner. • After that, remaining replicas are placed in clockwise direction in the Node ring. • NetworkTopologyStrategy • NetworkTopologyStrategy is used when you have more than two data centers. • In NetworkTopologyStrategy, replicas are set for each data center separately. NetworkTopologyStrategy places replicas in the clockwise direction in the ring until reaches the first node in another rack. • This strategy tries to place replicas on different racks in the same data center. This is due to the reason that sometimes failure or problem can occur in the rack. Then replicas on other nodes can provide data.
  • 17. SUPPORTED PROGRAMMING LANGUAGES • Java: • You can find the DataStax Java driver at https://github.com/datastax/java-driver and the Hector Java client at http://hector-client.github.io/hector/build/html/index.html • Python: • You can download the drivers for Pythons such as Pycassa at http://github.com/pycassa/pycassa and the DataStax Python CQL driver at https://github.com/datastax/python-driver • Node.js: • You can find the Node.js driver Helenus at https://github.com/simplereach/helenus • PHP: • You can find the Cassandra PDO driver at http://code.google.com/a/apache-extras.org/p/cassandra- pdo/
  • 18. PRO’S AND CON’S • Pro’s • Cassandra database automatically replicate the data of failed node to another node without any halt in work. • Cassandra database provide horizontal scaling, and enhance performance with increase load. • Cassandra is durable and provide data consistency, which makes it best fit to hold critical data of companies • Cassandra provides simple query language (CQL) ,very much similar to relational database and so easily adaptable by developers.
  • 19. PRO’S AND CON’S • Con’s • Performance is unpredictable, as all the background task are executed in random way and are not scheduled by users. • Here data is modelled around queries instead of its structure due to which same data is store multiple times. • To store huge amount of data, JVM is required to manage the memory which itself is a language, and so garbage collection is not done by application but by a language in Cassandra.
  • 20. THANKS If you feel that it is helpful and worthy to share with others then please like and share the same.