ClickHouse/docs/en/sql-reference/statements
Robert Schulze e6167d6b36
Deprecate Gorilla compression of non-float columns
Reasons:

1. The original Gorilla paper proposed a compression schema for pairs of
   time stamps and double-precision FP values. ClickHouse's Gorilla
   codec only implements compression of the latter and it does not
   impose any data type restrictions.
   - Data types != Float* or (U)Int* (e.g. Decimal, Point etc.) are
     definitely not supposed to be used with Gorilla.
   - (U)Int* types are debatable. The paper only considers
     integers-stored-as-FP-values, a practical use case for which
     Gorilla works well. Standalone integers are not considered which
     makes them at least suspicious.

2. Achieve consistency with FPC, another specialized floating-point
   timeseries codec, which rejects non-float data.

3. On practical datasets, ZSTD is often "good enough" (**) so it should
   be okay to disincentive non-ZSTD codecs a little bit. If needed,
   Delta and DoubleDelta codecs are viable alternative for slowly
   changing (time-series-like) integer sequences.

Since on-prem and hosted users may still have Gorilla-compressed
non-float data, this combination is only deprecated for now. No warning
or error will be emitted. Users are encouraged to migrate
Gorilla-compressed non-float data to an alternative codec. It is planned
to treat Gorilla-compressed non-float columns as "suspicious" six months
after this commit (i.e. in v23.6). Even then, it will still be possible
to set "allow_suspicious_codecs = true" and read and write
Gorilla-compressed non-float data.

(*) Sec. 4.1.2, "Gorilla restricts the value element in its tuple to a
    double floating point type.", https://doi.org/10.14778/2824032.2824078

(**) https://clickhouse.com/blog/optimize-clickhouse-codecs-compression-schema
2023-01-20 17:31:16 +00:00
..
alter Remove leftover empty lines at the end of markdown files 2023-01-09 15:15:18 +01:00
create Deprecate Gorilla compression of non-float columns 2023-01-20 17:31:16 +00:00
select Remove leftover empty lines at the end of markdown files 2023-01-09 15:15:18 +01:00
_category_.yml EOL fixes 2022-04-19 13:50:45 -06:00
attach.md replace symlinks 2022-08-29 12:19:50 -04:00
check-table.md Update docs/en/sql-reference/statements/check-table.md 2022-11-01 13:04:24 +00:00
delete.md Update docs/en/sql-reference/statements/delete.md 2022-09-13 13:18:01 -04:00
describe-table.md Docs: Add "TABLE" to CHECK/DESCRIBE statements in sidebar 2022-10-07 14:41:00 +00:00
detach.md docs: mention SYNC modifier for DROP and DETACH statements 2022-09-08 15:21:59 +02:00
drop.md docs: mention SYNC modifier for DROP and DETACH statements 2022-09-08 15:21:59 +02:00
exchange.md add slugs 2022-08-28 10:53:34 -04:00
exists.md add slugs 2022-08-28 10:53:34 -04:00
explain.md Remove leftover empty lines at the end of markdown files 2023-01-09 15:15:18 +01:00
grant.md Remove leftover empty lines at the end of markdown files 2023-01-09 15:15:18 +01:00
index.md fix nav 2022-11-08 20:21:26 -05:00
insert-into.md add more about matching 2023-01-04 15:37:13 -05:00
kill.md fix nav 2022-11-08 20:21:26 -05:00
optimize.md Link to proper place in docs 2022-10-31 12:52:31 +01:00
rename.md add slugs 2022-08-28 10:53:34 -04:00
revoke.md add slugs 2022-08-28 10:53:34 -04:00
set-role.md Update set-role.md 2022-11-14 12:17:31 -05:00
set.md add slugs 2022-08-28 10:53:34 -04:00
show.md Remove leftover empty lines at the end of markdown files 2023-01-09 15:15:18 +01:00
system.md Add docs for SYSTEM RELOAD USERS 2023-01-11 21:16:22 +01:00
truncate.md add slugs 2022-08-28 10:53:34 -04:00
use.md add slugs 2022-08-28 10:53:34 -04:00
watch.md add slugs 2022-08-28 10:53:34 -04:00