Hi Eric,
Zitat von Eric Stevens <migh...@gmail.com>:
@Jens,
will "inactive" CFs be released from C*'s memory after i.e. a few days
or when under resource pressure?
No, certain memory structures are allocated and will remain resident on
each node for as long as the table exists.
That's good to know, while not so good for our current design ;)
These CFs are used as "time buckets", but are to be kept for speedy
recovery
I would recommend a structure where you include time bucket as part of your
primary key and use a single column family for all time buckets. Use TTL's
if you want this old data to expire automatically after some certain amount
of time.
Just FYI:
We've had a severe impact on access times when running in single-CF
mode, because each bucket itself is quite big (large number of rows,
but with small records). That's when we turned to separating data into
CFs per "time bucket", using TTLs to auto-expire data and deleting the
CF once the count of rows dropped to zero. We're talking about
millions of (small) records here, not "thousands". Per bucket.
As we created an architecture that will let us switch between these
models, we'll re-test to check the performance impact of both variants.
Best regards,
Jens