[
https://issues.apache.org/jira/browse/CASSANDRA-4175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13678339#comment-13678339
]
Nate McCall commented on CASSANDRA-4175:
----------------------------------------
bq. punt: let each node use a node-local map, and translate back and forth to
full column name across node boundaries
I would much prefer this approach. Particularly since I know of at least one
large-ish cluster that had this working back in 0.8 after hacking it in by hand
([~terjem] if you folks are still around, would like to know your thoughts on
this issue).
This also feels like a better bounding of the task since the goal is to reduce
local memory consumption and GC activity.
Another thought: why not make this a function of the comparator for
type-specific encode/decode? This would make common encode/decodes of some
types become extremely efficient while using 'int counter' approach mentioned
for other types.
Either way, a node local approach initially would not preclude the use of CAS
in the future (hopefully, the encapsulation by such a 2 step approach would
facilitate making the CAS part optional for those of use who have bet the farm
on dynamic column names).
> Reduce memory (and disk) space requirements with a column name/id map
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-4175
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4175
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Jonathan Ellis
> Fix For: 2.1
>
>
> We spend a lot of memory on column names, both transiently (during reads) and
> more permanently (in the row cache). Compression mitigates this on disk but
> not on the heap.
> The overhead is significant for typical small column values, e.g., ints.
> Even though we intern once we get to the memtable, this affects writes too
> via very high allocation rates in the young generation, hence more GC
> activity.
> Now that CQL3 provides us some guarantees that column names must be defined
> before they are inserted, we could create a map of (say) 32-bit int column
> id, to names, and use that internally right up until we return a resultset to
> the client.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira