Application Development with Apache
Cassandra as a Service
By Deependra Ariyadewa
WSO2
• Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards and Open Source. Primary contributors to Apache Web Services projects started in 2001
• Producing entire middleware platform 100% open source under Apache license
• Business model is to sell comprehensive support & maintenance for our products
• Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC,
• and CA
• Venture funded by Intel Capital and Quest Software.
• Global corporation with offices in Palo Alto, USA Portsmouth, UK & Colombo, Sri Lanka
• 150+ employees and growing.
Attendees will learn
• When to select a NoSQL column store database
• The advantages of WSO2 Column Store Service – (CSS),
particularly in a cloud deployment
• How to create and manage a Cassandra keyspace using
WSO2 CSS
• How to develop and deploy an application with the WSO2
CSS
Introduction to Data Problem
• Rapid growth of published data.
• Managing large amounts of data is difficult
Difficulties include
o Capture
o Storage
o Search
o Sharing
o Analytics
o Visualization
The Well Known Data Solution
• Relational Database Management Systems - RDBMS
Oracle, DB2, Postgress, MySQL
• Object-oriented Databases
VelocityDB, Wakanda, Zope
• NoSQL Databases
Cassandra, CouchDB, MongoDB
Limitations in Relational Model
• Relational model should maintain ACID
properties.
• Hard to scale up keeping Consistency and Isolation due to Node Failures and distributed locking.
• less scalable SQL.
o Distributed JOIN
An alternative to ACID is BASE
• Basic Availability
• Soft-state
• Eventual consistency
CAP Theorem
• In distributed systems it is only possible to have two
properties out of the properties Consistency, Availability and
Partition Tolerance at any given time.
NoSQL Data Solutions
• Tunable Consistency
• Fault Tolerant
• Decentralized
• Runs on Cheap Commodity Hardware
• Flexible Data Models
NoSQL Database Types
• Wide Column Store / Column Families
o Cassandra, HBase
• Document Store
o MongoDB, CouchDB
• Key Value / Tuple Store
o Riak, Redis
• Graph Databases
o Neo4J, FlockDB source:http://nosql-database.org/
When to Select NoSQL Column Store
• Structured Data
• Highly Scalable Systems with Primary Key Retrieval
• Highly scalable systems with WHERE clause Support
Apache Cassandra Features
• Fault Tolerant
Data is automatically replicated to multiple node / across multiple data centers for fault tolerance.
• Decentralized
Every node in the cluster is identical.
• Rich Data Model
support key/value systems and column families.
• Elastic
Read and write throughput both increase linearly as new machines are added,
with no downtime or interruption to applications.
WSO2 Data Solutions
• Data Service Server - DSS
• Relational Storage Service - RSS
• Column Store Service - CSS
• File System as a service ( FSaaS) - HDFS
Cassandra Deployment Diagram
WSO2 Column Store
• User requests are authenticated and authorized with Carbon User manager.
• Cassandra service listens on port 9160 for thrift calls.
• Port 7000 uses as the default gossip channel.
WSO2 Stratos
WSO2 Column Store as a Service (CSS)
How to Install Cassandra feature
• Install Cassandra feature from p2 repository.
Expand the Cassandra Cluster
• Decide on a Key partitioner
partitioner: org.apache.cassandra.dht.RandomPartitioner
• Set Seeds
- seeds: "192.168.0.102", "192.168.0.103"
• Set Listen address to an IP
listen_address: 192.168.0.10
• Plug WSO2 authentication / authorization system.
authenticator: org.wso2.carbon.cassandra.server.CarbonCassandraAuthenticator
authority: org.wso2.carbon.cassandra.server.CarbonCassandraAuthority
Manage Keyspace / Column Families
Manage Keyspace / Column Families
Manage Keyspace / Column Families
Write Clients with Hector ( Java API )
Write Clients with Hector
Q & A
https://ail.google.com/mail/u/0/?ui=2&ik=ad9ae58f41&vi
ew=att&th=1331a70983344a32&attid=0.1&disp=thd&re
alattid=f_gtxto6mk0&zw
Selected Customers
WSO2 engagement model
• QuickStart -
• Development Support
• Development Services
• Production Support
• Turnkey Solutions
• WSO2 Mobile Services Solution
• WSO2 FIX Gateway Solution
• WSO2 SAP Gateway Solution