I read through the documentation but dont seem to understand the physical storage part of influxdb that well.
under TSM files here
, its mentioned actual data is stored in sequence of blocks (4K for checksum & N bytes for data) …
assuming I have 2 tags in a measurement and 3 fields ( 2 ints and 1 string)…
does that mean, influxdb internally will strip each field apart and compress and store it as a block ( to get optimal compression)… if yes, then diff fields for a same point ( or row) , would likely to go to multiple places with same TSM file or diff TSM files?
when this data is being read ( assuming its not in memory) , it will be read & uncompressed?
My reason for this question is…
a) confirm each field is separated before physical storage ( making it more aligned to columnar dbs)
b) if I have one point ( say using two tags I can locate it ) , there wont be overhead of scanning the files to locate each field… whether I fetch 1st field or 5th field or 500th field the performance would remain the same
Thanks in advance.