void write(ByteBuffer buffer) {
            if (version != Version.VERSION_0_ID) {
                buffer.putLong(VERSION_FLAG);
                buffer.putInt(version);
            }
            buffer.putLong(sectionOffset);
            buffer.putLong(sectionSize);
            buffer.putLong(rowCount);
            buffer.putInt(columnCount);
            if (version >= Version.VERSION_6_ID) {
                buffer.putInt(mode);
            }

            for (ColumnNodeMeta cni : columnNodeInfos) {
                ColumnNodeMeta.write(cni, buffer);
            }
            for (ColumnMeta ci : columnInfos) {
                ColumnMetaV1.write(version, (ColumnMetaV1) ci, buffer);
            }
        }
Store segment column by column.

<pre>
Segment storage structure:
|  IXRSEGxx | sementMeta | column0 | column1 ... | outerIndex0 | outerIndex0 ... |
            | <---                      sectionSize                        ----> |

Column structure:
|  dpn | rsIndex | extIndex | dataPack |
</pre>
indexr-segment/src/main/java/io/indexr/segment/storage/itg/IntegrateV1.java