Friday, July 11, 2014

Cassandra ( C* ) vs RDBMS

To manage c* data, use cassandra-cli or cqlsh

keyspaces@c* = schema@c* = database@RDBMS
columnfamily@c* = table@RDBMS

Cli:

Start cli

> cassandra-cli
cli> connect localhost /9160;

Set active keyspace

cli> use demo;

Update a row in table "users":

cli> set users['user123'][email]='user123@gmail.com';

Select user row

cli> get users['user123']

cql:

> cqlsh

List available keyspaces

cqlsh> describe keyspaces
cql> SELECT * FROM system.schema_keyspaces;

Create keyspace

CREATE KEYSPACE Demo
WITH REPLICATION={ 'class':'SimpleStrategy', 'replication_factor':3 };

Set active keyspace

cql> use Demo;

Show all tables ( columnfamilies )

cqlsh> describe tables | columnfamilies;
cql> select columnfamily_name from system.schema_columnfamilies where keyspace_name=?;

Create table

 CREATE TABLE
        keyspace_name.
        table_name
( column_definition
        , column_definition, ...
        )
        WITH property AND property ...
      

Insert row into a table or columnfamily

INSERT INTO users(id, name, firstname, lastname, email, class)
  VALUES (62c36092-82a1-3a00-93d1-46196ee77204, 'user123',
  'Joe', 'Trader', 'user123@gmail.com', 'admin');