SlideShare a Scribd company logo
1 of 19
By: Muralidharan Deenathayalan
Technical Lead, www.quanticate.com
Apache, Apache Cassandra, and Cassandra are trademarks of the Apache Software Foundation. Terms & Conditions
My Bio data
• 7+ years of experience in Microsoft technologies like Asp.net, C#, SQL server and SharePoint
• 2+ years of experience in open source technologies like Java, Alfresco and Apache Cassandra
• Csharpcorner MVP
Why I love Cassandra
• It runs on Windows machines 
• Easy to install
• Easy to configure
• Easy to develop
Agenda
• What is Apache Cassandra ?
• Birth
• Architecture
• Key Features
• Key Components
• Apache Cassandra Connectivity
• What is CQL and CQL Drivers
• Apache Cassandra – CRUD Demo
What is Apache Cassandra
• Distributed
• High Performance
• Scalable
• No Single Point of Failure database
Apache Cassandra - Birth
2008
Apache Cassandra - Architecture
• The ring represents a cyclic range of
token values (i.e., the token space).
• Each node is assigned a position on the
ring based on its token.
• Each node communicates with each
other node using Gossip protocol.
• First data written into commit log for
data durability
• Later data pushed from commit log to
memtable, once memtable is full then
the data written into sstable (disk).
Open Source
Column
Oriented
High PerformanceHigh Availability
& Fault Tolerance
Peer – Peer
Architecture
CQL
Tunable
Consistency
Apache Cassandra - Features
Flexible
Schema
Apache Cassandra – Key Components
Keyword Description
Schema / Keyspace A collection of column families
Table/ Column Family A set of rows
Row An ordered set of columns
Partitioning Keys are mapped into the token space by a Partitioner.
Replication Cassandra provides high availability and fault tolerance
through data replication. The replication uses the ring to
determine nodes used for replication.
Consistency Levels Clients can specify the consistency level on both read and
write operations trading off between high availability,
consistency, and perform
CQL Cassandra provides an SQL-like query language called the
Cassandra Query Language
Apache Cassandra connectivity
• Apache Thrift (RPC)
• Scalable cross-language services development
• C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js,
Smalltalk, OCaml and Delphi
• thrift --gen <language> <Thrift filename>
• http://thrift.apache.org/
• Cassandra Query Language (CQL)
• SQL like statements
• Supports Triggers
• Does not support Sub-queries and joins
• http://www.datastax.com/documentation/cql/3.1/cql/cql_using/about_cql_c.html
Apache Cassandra - CQL Client Drivers
Language /
Framework
Client driver
Name
Description URI
PHP Cassandra -
PDO
A CQL (Cassandra Query
Language) driver for PHP
http://code.google.com/a/apache-
/
Python Pycassa Pycassa is the most well
known Python library for
Cassandra
https://
github.com/pycassa/pycassa
Ruby Ruby Gem Ruby has support for
Cassandra via a gem.
http://
rubygems.org/gems/cassandra
.NET Cassandra-
Sharp
.NET client for Cassandra https://
github.com/datastax/csharp
-driver
Node.Js Cassandra-
Node
Cassandra/ CQL driver
for Node.js
https://github.com/racker/node-ca
Step 1: Install Apache Cassandra.
http://cassandra.apache.org/download/
Step 2: Install Python.
http://www.python.org/download/releases/2.7.3/
Step 3: Add the Python executable path in the windows path variable,
otherwise configure in the environment variable.
Open command prompt :
C:> path =%path%;<python exe path>
Step 4: In the command prompt, navigate to Cassandrabin folder.
For ex C:cassandrabin>
Apache Cassandra - Installation
Apache Cassandra – Starting CLI
Step 1:
Start the Apache Cassandra Server by running <Cassandra>binCassandra.bat.
Step 2:
Start Command Line Interface from <Cassandra>bincassandra-cli.bat
Step 3:
Connect you Cassandra CLI with Cassandra Server..
Command: connect localhost/9160;
Apache Cassandra – Using CLI
Demo
Connect Cassandra Server - connect localhost/9160;
Displaying existing Keyspaces - show keyspaces;
Creating new keyspace - CREATE KEYSPACE testkeyspace with
placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
and strategy_options = {replication_factor:1};
Use existing keyspace - use testkeyspace ;
Creating column family - create column family users with comparator =
UTF8Type and key_validation_class=UTF8Type and column_metadata =
[{column_name: userName, validation_class:UTF8Type}, {column_name:
email, validation_class:UTF8Type}];
Apache Cassandra – Using CLI
Demo
Insert records into Columnfamily
- set users['student01']['userName']='Student1';
- set users['student01']['email']='Student1@example.com';
Read existing record in a Columnfamily
- get users['student01']['userName'];
- get users['student01'];
Update records in Columnfamily
- set users['student01']['email']='Student1@example.co.in';
Deleting records in Columnfamily
- del users['student01']['email'];
- del users['student01'];
Apache Cassandra – Using CQL
Demo
Connect Cassandra Server and execute CQLSh.bat file
Create Keyspace
- CREATE KEYSPACE CassandraCQLDemo
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
Use existing keyspace
- use CassandraCQLDemo;
Creating tables
- CREATE TABLE users( user_id varchar, age int, email varchar, city
varchar,PRIMARY KEY (user_id));
Apache Cassandra – Using CQL
Demo
Insert records into table
- INSERT INTO users(user_id, age, email, city)VALUES
('jsmith',32,'john.smith@example.com','Dallas');
- INSERT INTO users(user_id, city) VALUES ('pscott','New Jersey');
Read records from table
- SELECT * FROM users;
- SELECT * FROM users WHERE user_id='jsmith';
Update existing record in a table
- update users set email = ‘muralidharan@example.com’ where
user_id=‘'jsmith’;
Deleting records in table
- DELETE email FROM users WHERE user_id = 'jsmith ';
- DELETE FROM users WHERE user_id = 'pscott';
Q & A
Follow me
Twitter
www.Twitter.com/muralidharand
Coding-Freaks.Net
www.codingfreaks.net
Thank you

More Related Content

What's hot

Using Cassandra with your Web Application
Using Cassandra with your Web ApplicationUsing Cassandra with your Web Application
Using Cassandra with your Web Applicationsupertom
 
Cassandra Distributions and Variants
Cassandra Distributions and VariantsCassandra Distributions and Variants
Cassandra Distributions and VariantsAnant Corporation
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...DataStax
 
Scaling Twitter with Cassandra
Scaling Twitter with CassandraScaling Twitter with Cassandra
Scaling Twitter with CassandraRyan King
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache CassandraDataStax
 
Cassandra Lunch #92: Securing Apache Cassandra - Managing Roles and Permissions
Cassandra Lunch #92: Securing Apache Cassandra - Managing Roles and PermissionsCassandra Lunch #92: Securing Apache Cassandra - Managing Roles and Permissions
Cassandra Lunch #92: Securing Apache Cassandra - Managing Roles and PermissionsAnant Corporation
 
An Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise SearchAn Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise SearchPatricia Gorla
 
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph DatabaseFireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph DatabaseScyllaDB
 
Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...
Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...
Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...Data Con LA
 
Webinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache CassandraWebinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache CassandraDataStax
 
How to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instancesHow to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instancesScyllaDB
 
Feeding Cassandra with Spark-Streaming and Kafka
Feeding Cassandra with Spark-Streaming and KafkaFeeding Cassandra with Spark-Streaming and Kafka
Feeding Cassandra with Spark-Streaming and KafkaDataStax Academy
 
Everyday I’m scaling... Cassandra
Everyday I’m scaling... CassandraEveryday I’m scaling... Cassandra
Everyday I’m scaling... CassandraInstaclustr
 
Cassandra + Spark + Elk
Cassandra + Spark + ElkCassandra + Spark + Elk
Cassandra + Spark + ElkVasil Remeniuk
 
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag JambhekarC* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag JambhekarDataStax Academy
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra Knoldus Inc.
 

What's hot (20)

Cassandra training
Cassandra trainingCassandra training
Cassandra training
 
Using Cassandra with your Web Application
Using Cassandra with your Web ApplicationUsing Cassandra with your Web Application
Using Cassandra with your Web Application
 
Cassandra Distributions and Variants
Cassandra Distributions and VariantsCassandra Distributions and Variants
Cassandra Distributions and Variants
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
 
Scaling Twitter with Cassandra
Scaling Twitter with CassandraScaling Twitter with Cassandra
Scaling Twitter with Cassandra
 
cassandra@Netflix
cassandra@Netflixcassandra@Netflix
cassandra@Netflix
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
 
Cassandra Lunch #92: Securing Apache Cassandra - Managing Roles and Permissions
Cassandra Lunch #92: Securing Apache Cassandra - Managing Roles and PermissionsCassandra Lunch #92: Securing Apache Cassandra - Managing Roles and Permissions
Cassandra Lunch #92: Securing Apache Cassandra - Managing Roles and Permissions
 
An Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise SearchAn Introduction to Distributed Search with Datastax Enterprise Search
An Introduction to Distributed Search with Datastax Enterprise Search
 
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph DatabaseFireEye & Scylla: Intel Threat Analysis Using a Graph Database
FireEye & Scylla: Intel Threat Analysis Using a Graph Database
 
Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...
Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...
Big Data Day LA 2015 - Sparking up your Cassandra Cluster- Analytics made Awe...
 
Webinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache CassandraWebinar: Getting Started with Apache Cassandra
Webinar: Getting Started with Apache Cassandra
 
How to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instancesHow to Monitor and Size Workloads on AWS i3 instances
How to Monitor and Size Workloads on AWS i3 instances
 
Feeding Cassandra with Spark-Streaming and Kafka
Feeding Cassandra with Spark-Streaming and KafkaFeeding Cassandra with Spark-Streaming and Kafka
Feeding Cassandra with Spark-Streaming and Kafka
 
Everyday I’m scaling... Cassandra
Everyday I’m scaling... CassandraEveryday I’m scaling... Cassandra
Everyday I’m scaling... Cassandra
 
Cassandra + Spark + Elk
Cassandra + Spark + ElkCassandra + Spark + Elk
Cassandra + Spark + Elk
 
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag JambhekarC* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
C* Summit 2013: Cassandra at eBay Scale by Feng Qu and Anurag Jambhekar
 
Cassandra NoSQL Tutorial
Cassandra NoSQL TutorialCassandra NoSQL Tutorial
Cassandra NoSQL Tutorial
 
Cassandra ppt 2
Cassandra ppt 2Cassandra ppt 2
Cassandra ppt 2
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra
 

Similar to Apache cassandra

Cassandra - A decentralized storage system
Cassandra - A decentralized storage systemCassandra - A decentralized storage system
Cassandra - A decentralized storage systemArunit Gupta
 
Lambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, Scala
Lambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, ScalaLambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, Scala
Lambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, ScalaHelena Edelson
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101Whiteklay
 
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Helena Edelson
 
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Alexey Bokov
 
Using the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data ProductUsing the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data ProductEvans Ye
 
Application Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a ServiceApplication Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a ServiceWSO2
 
Apache cassandra lunch #82 instaclustr managed cassandra and next.js
Apache cassandra lunch #82  instaclustr managed cassandra and next.jsApache cassandra lunch #82  instaclustr managed cassandra and next.js
Apache cassandra lunch #82 instaclustr managed cassandra and next.jsAnant Corporation
 
Apache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.js
Apache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.jsApache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.js
Apache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.jsAnant Corporation
 
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQLKafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQLconfluent
 
EclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraEclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraMichaël Figuière
 
Chicago Kafka Meetup
Chicago Kafka MeetupChicago Kafka Meetup
Chicago Kafka MeetupCliff Gilmore
 
Tech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxTech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxRalph Attard
 
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...Lviv Startup Club
 
Cassandra integrations
Cassandra integrationsCassandra integrations
Cassandra integrationsT Jake Luciani
 
Changing landscapes in data integration - Kafka Connect for near real-time da...
Changing landscapes in data integration - Kafka Connect for near real-time da...Changing landscapes in data integration - Kafka Connect for near real-time da...
Changing landscapes in data integration - Kafka Connect for near real-time da...HostedbyConfluent
 
Cassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideCassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideMohammed Fazuluddin
 
Cassandra REST API with Pagination TEAM 15
Cassandra REST API with Pagination TEAM 15Cassandra REST API with Pagination TEAM 15
Cassandra REST API with Pagination TEAM 15Akash Kant
 

Similar to Apache cassandra (20)

Cassandra - A decentralized storage system
Cassandra - A decentralized storage systemCassandra - A decentralized storage system
Cassandra - A decentralized storage system
 
Lambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, Scala
Lambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, ScalaLambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, Scala
Lambda Architecture with Spark Streaming, Kafka, Cassandra, Akka, Scala
 
Kafka connect 101
Kafka connect 101Kafka connect 101
Kafka connect 101
 
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
Lambda Architecture with Spark, Spark Streaming, Kafka, Cassandra, Akka and S...
 
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
Azure: Docker Container orchestration, PaaS ( Service Farbic ) and High avail...
 
Using the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data ProductUsing the SDACK Architecture to Build a Big Data Product
Using the SDACK Architecture to Build a Big Data Product
 
Application Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a ServiceApplication Development with Apache Cassandra as a Service
Application Development with Apache Cassandra as a Service
 
Apache cassandra lunch #82 instaclustr managed cassandra and next.js
Apache cassandra lunch #82  instaclustr managed cassandra and next.jsApache cassandra lunch #82  instaclustr managed cassandra and next.js
Apache cassandra lunch #82 instaclustr managed cassandra and next.js
 
Apache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.js
Apache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.jsApache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.js
Apache Cassandra Lunch #82: Instaclustr Managed Cassandra and Next.js
 
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQLKafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
 
EclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache CassandraEclipseCon - Building an IDE for Apache Cassandra
EclipseCon - Building an IDE for Apache Cassandra
 
Chicago Kafka Meetup
Chicago Kafka MeetupChicago Kafka Meetup
Chicago Kafka Meetup
 
Tech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxTech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on Linux
 
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...
 
Jug - ecosystem
Jug -  ecosystemJug -  ecosystem
Jug - ecosystem
 
Chti jug - 2018-06-26
Chti jug - 2018-06-26Chti jug - 2018-06-26
Chti jug - 2018-06-26
 
Cassandra integrations
Cassandra integrationsCassandra integrations
Cassandra integrations
 
Changing landscapes in data integration - Kafka Connect for near real-time da...
Changing landscapes in data integration - Kafka Connect for near real-time da...Changing landscapes in data integration - Kafka Connect for near real-time da...
Changing landscapes in data integration - Kafka Connect for near real-time da...
 
Cassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction GuideCassandra - A Basic Introduction Guide
Cassandra - A Basic Introduction Guide
 
Cassandra REST API with Pagination TEAM 15
Cassandra REST API with Pagination TEAM 15Cassandra REST API with Pagination TEAM 15
Cassandra REST API with Pagination TEAM 15
 

More from Muralidharan Deenathayalan (10)

What's new in C# 8.0 (beta)
What's new in C# 8.0 (beta)What's new in C# 8.0 (beta)
What's new in C# 8.0 (beta)
 
Introduction to Jupyter notebook and MS Azure Machine Learning Studio
Introduction to Jupyter notebook and MS Azure Machine Learning StudioIntroduction to Jupyter notebook and MS Azure Machine Learning Studio
Introduction to Jupyter notebook and MS Azure Machine Learning Studio
 
Alfresco 5.0 features
Alfresco 5.0 featuresAlfresco 5.0 features
Alfresco 5.0 features
 
Test drive on driven development process
Test drive on driven development processTest drive on driven development process
Test drive on driven development process
 
Map Reduce introduction
Map Reduce introductionMap Reduce introduction
Map Reduce introduction
 
Apache Hive - Introduction
Apache Hive - IntroductionApache Hive - Introduction
Apache Hive - Introduction
 
Alfresco share 4.1 to 4.2 customisation
Alfresco share 4.1 to 4.2 customisationAlfresco share 4.1 to 4.2 customisation
Alfresco share 4.1 to 4.2 customisation
 
Introduction about Alfresco webscript
Introduction about Alfresco webscriptIntroduction about Alfresco webscript
Introduction about Alfresco webscript
 
Alfresco activiti workflows
Alfresco activiti workflowsAlfresco activiti workflows
Alfresco activiti workflows
 
Alfresco content model
Alfresco content modelAlfresco content model
Alfresco content model
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Apache cassandra

  • 1. By: Muralidharan Deenathayalan Technical Lead, www.quanticate.com Apache, Apache Cassandra, and Cassandra are trademarks of the Apache Software Foundation. Terms & Conditions
  • 2. My Bio data • 7+ years of experience in Microsoft technologies like Asp.net, C#, SQL server and SharePoint • 2+ years of experience in open source technologies like Java, Alfresco and Apache Cassandra • Csharpcorner MVP Why I love Cassandra • It runs on Windows machines  • Easy to install • Easy to configure • Easy to develop
  • 3. Agenda • What is Apache Cassandra ? • Birth • Architecture • Key Features • Key Components • Apache Cassandra Connectivity • What is CQL and CQL Drivers • Apache Cassandra – CRUD Demo
  • 4. What is Apache Cassandra • Distributed • High Performance • Scalable • No Single Point of Failure database
  • 5. Apache Cassandra - Birth 2008
  • 6. Apache Cassandra - Architecture • The ring represents a cyclic range of token values (i.e., the token space). • Each node is assigned a position on the ring based on its token. • Each node communicates with each other node using Gossip protocol. • First data written into commit log for data durability • Later data pushed from commit log to memtable, once memtable is full then the data written into sstable (disk).
  • 7. Open Source Column Oriented High PerformanceHigh Availability & Fault Tolerance Peer – Peer Architecture CQL Tunable Consistency Apache Cassandra - Features Flexible Schema
  • 8. Apache Cassandra – Key Components Keyword Description Schema / Keyspace A collection of column families Table/ Column Family A set of rows Row An ordered set of columns Partitioning Keys are mapped into the token space by a Partitioner. Replication Cassandra provides high availability and fault tolerance through data replication. The replication uses the ring to determine nodes used for replication. Consistency Levels Clients can specify the consistency level on both read and write operations trading off between high availability, consistency, and perform CQL Cassandra provides an SQL-like query language called the Cassandra Query Language
  • 9. Apache Cassandra connectivity • Apache Thrift (RPC) • Scalable cross-language services development • C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi • thrift --gen <language> <Thrift filename> • http://thrift.apache.org/ • Cassandra Query Language (CQL) • SQL like statements • Supports Triggers • Does not support Sub-queries and joins • http://www.datastax.com/documentation/cql/3.1/cql/cql_using/about_cql_c.html
  • 10. Apache Cassandra - CQL Client Drivers Language / Framework Client driver Name Description URI PHP Cassandra - PDO A CQL (Cassandra Query Language) driver for PHP http://code.google.com/a/apache- / Python Pycassa Pycassa is the most well known Python library for Cassandra https:// github.com/pycassa/pycassa Ruby Ruby Gem Ruby has support for Cassandra via a gem. http:// rubygems.org/gems/cassandra .NET Cassandra- Sharp .NET client for Cassandra https:// github.com/datastax/csharp -driver Node.Js Cassandra- Node Cassandra/ CQL driver for Node.js https://github.com/racker/node-ca
  • 11. Step 1: Install Apache Cassandra. http://cassandra.apache.org/download/ Step 2: Install Python. http://www.python.org/download/releases/2.7.3/ Step 3: Add the Python executable path in the windows path variable, otherwise configure in the environment variable. Open command prompt : C:> path =%path%;<python exe path> Step 4: In the command prompt, navigate to Cassandrabin folder. For ex C:cassandrabin> Apache Cassandra - Installation
  • 12. Apache Cassandra – Starting CLI Step 1: Start the Apache Cassandra Server by running <Cassandra>binCassandra.bat. Step 2: Start Command Line Interface from <Cassandra>bincassandra-cli.bat Step 3: Connect you Cassandra CLI with Cassandra Server.. Command: connect localhost/9160;
  • 13. Apache Cassandra – Using CLI Demo Connect Cassandra Server - connect localhost/9160; Displaying existing Keyspaces - show keyspaces; Creating new keyspace - CREATE KEYSPACE testkeyspace with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options = {replication_factor:1}; Use existing keyspace - use testkeyspace ; Creating column family - create column family users with comparator = UTF8Type and key_validation_class=UTF8Type and column_metadata = [{column_name: userName, validation_class:UTF8Type}, {column_name: email, validation_class:UTF8Type}];
  • 14. Apache Cassandra – Using CLI Demo Insert records into Columnfamily - set users['student01']['userName']='Student1'; - set users['student01']['email']='Student1@example.com'; Read existing record in a Columnfamily - get users['student01']['userName']; - get users['student01']; Update records in Columnfamily - set users['student01']['email']='Student1@example.co.in'; Deleting records in Columnfamily - del users['student01']['email']; - del users['student01'];
  • 15. Apache Cassandra – Using CQL Demo Connect Cassandra Server and execute CQLSh.bat file Create Keyspace - CREATE KEYSPACE CassandraCQLDemo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 }; Use existing keyspace - use CassandraCQLDemo; Creating tables - CREATE TABLE users( user_id varchar, age int, email varchar, city varchar,PRIMARY KEY (user_id));
  • 16. Apache Cassandra – Using CQL Demo Insert records into table - INSERT INTO users(user_id, age, email, city)VALUES ('jsmith',32,'john.smith@example.com','Dallas'); - INSERT INTO users(user_id, city) VALUES ('pscott','New Jersey'); Read records from table - SELECT * FROM users; - SELECT * FROM users WHERE user_id='jsmith'; Update existing record in a table - update users set email = ‘muralidharan@example.com’ where user_id=‘'jsmith’; Deleting records in table - DELETE email FROM users WHERE user_id = 'jsmith '; - DELETE FROM users WHERE user_id = 'pscott';
  • 17. Q & A