Hey folks, While working with Ignite users, I keep seeing data models where a single object (row) might contain many fields (100, 200, more...), and most of them are strings.
Correct me if I'm wrong, but per my understanding, for every such field we store an integer value to represent its length. This is significant overhead - with 200 fields we spend 800 bytes only for this. Now here is the catch: vast majority of those strings are actually empty or very short (several chars), therefore we don't really need 4 bytes to their length. My suggestions is to introduce another data type, e.g. STRING_SHORT, use it for all strings that are 255 chars or less, and therefore use a single byte to encode length. We can go even further, and also introduce STRING_EMPTY, which obviously doesn't need any length information at all. What do you guys think? -Val