druid/docs
Clint Wylie f8301a314f
generic block compressed complex columns (#16863)
changes:
* Adds new `CompressedComplexColumn`, `CompressedComplexColumnSerializer`, `CompressedComplexColumnSupplier` based on `CompressedVariableSizedBlobColumn` used by JSON columns
* Adds `IndexSpec.complexMetricCompression` which can be used to specify compression for the generic compressed complex column. Defaults to uncompressed because compressed columns are not backwards compatible.
* Adds new definition of `ComplexMetricSerde.getSerializer` which accepts an `IndexSpec` argument when creating a serializer. The old signature has been marked `@Deprecated` and has a default implementation that returns `null`, but it will be used by the default implementation of the new version if it is implemented to return a non-null value. The default implementation of the new method will use a `CompressedComplexColumnSerializer` if `IndexSpec.complexMetricCompression` is not null/none/uncompressed, or will use `LargeColumnSupportedComplexColumnSerializer` otherwise.
* Removed all duplicate generic implementations of `ComplexMetricSerde.getSerializer` and `ComplexMetricSerde.deserializeColumn` into default implementations `ComplexMetricSerde` instead of being copied all over the place. The default implementation of `deserializeColumn` will check if the first byte indicates that the new compression was used, otherwise will use the `GenericIndexed` based supplier.
* Complex columns with custom serializers/deserializers are unaffected and may continue doing whatever it is they do, either with specialized compression or whatever else, this new stuff is just to provide generic implementations built around `ObjectStrategy`.
* add ObjectStrategy.readRetainsBufferReference so CompressedComplexColumn only copies on read if required
* add copyValueOnRead flag down to CompressedBlockReader to avoid buffer duplicate if the value needs copied anyway
2024-08-27 00:34:41 -07:00
..
api-reference Updated auth to use variables with default values (#16876) 2024-08-22 18:09:09 -07:00
assets Add supervisor actions (#16276) 2024-04-24 13:14:01 -07:00
comparisons remove ref to plywood repo (#12809) 2022-07-26 10:12:13 +08:00
configuration docs: update query from deepstorage segment requirement (#16842) 2024-08-23 11:59:29 -07:00
data-management Kill segments by versions (#15994) 2024-03-13 09:37:30 +05:30
design Linked back to query granularity docs (#16883) 2024-08-23 08:44:19 -07:00
development Remove references to chatAsync (#16950) 2024-08-23 13:21:07 +05:30
ingestion generic block compressed complex columns (#16863) 2024-08-27 00:34:41 -07:00
misc Update the youtube link for druid presentations page (#16601) 2024-06-14 09:47:46 +08:00
multi-stage-query Segments sorted by non-time columns. (#16849) 2024-08-23 08:24:43 -07:00
operations [bugfix] Run cold schema refresh thread periodically (#16873) 2024-08-13 11:44:01 +05:30
querying docs: update query from deepstorage segment requirement (#16842) 2024-08-23 11:59:29 -07:00
release-info Migration guide fixes (#16902) 2024-08-15 09:26:34 -07:00
tutorials docs: update query from deepstorage segment requirement (#16842) 2024-08-23 11:59:29 -07:00