DECIMAL data type storage vs FLOAT/DOUBLE

Hello.

We have parquet dataset source files with float/double data types inside. Inside Dremio we create VDS with decimal(,) cast on them for convinience.
What i noticed is that casting to decimal significantly increases both reflection footprint and query job output bytes size.
How much memory does decimal take? i tried to play with precision - but it seems still same ammount of memory is taken even with low precision and scale.

Now it takes almost x2 more bytes than double and x4 than float (same query with 3 types(decimal → double → float) 157->79->40 bytes outputted.

Okay testing
select cast(1.0001 as decimal(10,3)) vs select cast(1.0001 as float)
Gave 17bytes vs 5bytes, Why decimal is so huge? On RDBS like ms sql it takes variable length 5-17 bytes depending on precision. So Dremio uses highest footprint regardless of precision?