Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-11622

Optimize native protocol result set serialization format

    XMLWordPrintableJSON

    Details

      Description

      The format in which result sets are serialized in the native protocol has the advantage of being very simple (which was, initially, a feature), but it isn't very optimal. It's probably now time to think about optimizing it further.

      At the very least, there is 2 simple optimizations we can do:

      1. we can avoid the repetition of partition key columns (as well as duplicate clustering column value when we have more than one clustering column, though we'd have to recompute this at the CQL level since we don't have this "optimization" internally (yet at least), contrarily to the partition key case).
      2. we can optimize the serialization of value of fixed-width type (like we now do internally) by skipping the current 4 byte length. We could also maybe use vints for the remaining case where there is a length.

      But of course, it's worth considering other potential optimization while we're at it.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              slebresne Sylvain Lebresne
            • Votes:
              0 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

              • Created:
                Updated: