Druid stores data in columnar form, so row byte size is not really a thing. The Druid console datasources/segments views have avg row size based on (segment size / # rows in the segment) . Each column can be made up of a dictionary, encoded data values, and indexes. The dictionary size depends on the size of the values in the column and the number of distinct values. Front-coding is also available here to compress the dictionary further. The data is stored as an array of longs, one per row. Indexes will vary, but in general for each dictionary value it stores a list of row indices and a bitmap that has a bit per row in the segment.