Contact Us

CQL, the Cassandra Query Language

Technologies | June 10, 2011


CREATE COLUMNFAMILY users (
...     key varchar PRIMARY KEY,
...     full_name varchar,
...     birth_date int,
...     state varchar ... );

CREATE INDEX ON users (birth_date);
CREATE INDEX ON users (state);

INSERT INTO users (key, full_name, birth_date, state) VALUES ('bsanderson', 'Brandon Sanderson', 1975, 'UT');
INSERT INTO users (key, full_name, birth_date, state) VALUES ('prothfuss', 'Patrick Rothfuss', 1973, 'WI');
INSERT INTO users (key, full_name, birth_date, state) VALUES ('htayler', 'Howard Tayler', 1968, 'UT');

SELECT key, state FROM users;
key        | state |
bsanderson |    UT |
prothfuss  |    WI |
htayler    |    UT |

SELECT * FROM users WHERE state='UT' AND birth_date > 1970;
KEY        | birth_date |         full_name | state |
bsanderson |       1975 | Brandon Sanderson |    UT |

HBase has PigLatin, now Cassandra has CQL. It’s a natural evolve step for distributed databases that depend of Map-Reduce to query and processing data.