cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Janne Jalkanen <janne.jalka...@ecyrd.com>
Subject Re: Wide rows in CQL 3
Date Thu, 10 Jan 2013 07:26:36 GMT

On 10 Jan 2013, at 01:30, Edward Capriolo <edlinuxguru@gmail.com> wrote:

> Column families that mix static and dynamic columns are pretty common. In fact it is
pretty much the default case, you have a default validator then some columns have specific
validators. In the old days people used to say "You only need one column family" you would
subdivide your row key into parts username=username, password=password, friend-friene = friends,
pet-pets = pets. It's very efficient and very easy if you understand what a slice is. Is everyone
else just adding a column family every time they have new data? :) Sounds very un-no-sql-like.


Well, we for sure are heavily mixing static and dynamic columns; it's quite useful, really.
Which is why upgrading to CQL3 isn't really something I've considered seriously at any point.

> Most people are probably going to store column names as tersely as possible. Your not
going to store "password" as a multibyte UTF8("password"). You store it as ascii("password").
(or really ascii('pw')

UTF8('password') === ascii('password'), actually - as long as you're within ascii range, UTF8
and ascii are equal byte for byte. It's not until code points > 128 where you start getting
multibytes.

Having said that, doesn't the sparse storage lend itself really well for further column name
optimisation - like using a single byte to denote the column name and then have a lookup table?
 The server could do a lot of nice tricks in this area, when afforded so by a tighter schema.
Also, I think that compression pretty much does this already - effect is the same even if
mechanism is different.

/Janne


Mime
View raw message