You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Rohit Yadav <ro...@wingify.com> on 2013/07/24 00:32:40 UTC

Understanding CQL internals

Hi,

I'm curious to learn about CQL's underlying implementation. I was unable to
find specifics (for users/developers) in the mail archives, please hint if
there is a wiki or any documentation.

CFs can be directly created using various Thrift based client
implementations such as pycassa but they give access to raw cells and not
high level modelling mechanisms. I tried to explore this using some test
data but cells created in a namespace via cqlsh and data entered via
cassandra-cli cannot be viewed interchangeable for some namespace(s). In
future would it be possible to see underlying implementation/CFs of a CQL
created table for example in a namespace?

While I see denormalization is encouraged in various docs for Cassandra,
how does CQL store denormalized data rows? Does CQL queries;

- internally create links/chained CFs
- have a different storage mechanism
- employ data de-duplication or compacting strategy (different from that on
the node/cluster), if any

Should new developers use Thrift based client implementations/libs or use
CQL?
For achieving optimal concurrent and faster operations (reads and writes),
in your experience what are some language/client-libs you would like to
recommend (Scala, Go, C++, Haskell etc.?).

Any details on CQL internals is appreciated.

Cheers.