# ExDataSketch v0.9.0 - Table of Contents

Production-grade streaming data sketching algorithms (HLL, ULL, CMS, Theta, KLL, DDSketch, REQ, FrequentItems, MisraGries, Bloom, Cuckoo, Quotient, CQF, XorFilter, IBLT, FilterChain) with optional Rust NIF acceleration and XXHash3.

## Pages

- [FI1 Binary State Format](frequent_items_format.md)
- [Changelog](changelog.md)

- Guides
  - [Quick Start](quick_start.md)
  - [Usage Guide](usage_guide.md)
  - [Integration Guide](integrations.md)
  - [Streaming Sketches](streaming_sketches.md)
  - [Broadway Integration](broadway_integration.md)
  - [GenStage Integration](genstage_integration.md)
  - [Flow Integration](flow_integration.md)
  - [Persistence](persistence.md)
  - [Telemetry Integration Guide](telemetry.md)
  - [Observability Guide](observability.md)
  - [The Aggregation Wall](aggregation_wall.md)
  - [Distributed Merge Semantics](distributed_merge_semantics.md)
  - [Livebooks](livebooks.md)
  - [Hash Infrastructure — Phase 1 of v0.8.0](hash_strategies.md)
  - [HLL Hot-Path Optimization](hll_performance.md)
  - [Precompiled NIFs](precompiled_nifs.md)
  - [Serialization Compatibility Contract (v0.8.0)](serialization_compatibility.md)
  - [Migrating to ex_data_sketch v0.8.0](v0-8-0_migration_notes.md)
  - [v0.8.0 Architectural Summary](v0-8-0_architecture.md)
  - [v0.9.0 Roadmap Preview](roadmap.md)

## Modules

- [ExDataSketch](ExDataSketch.md): Production-grade streaming data sketching algorithms for Elixir.
- [ExDataSketch.Binary](ExDataSketch.Binary.md): Public facade for the EXSK binary frame.
- [ExDataSketch.Binary.CRC](ExDataSketch.Binary.CRC.md): CRC32C (Castagnoli polynomial, reflected, init 0xFFFFFFFF, xor-out
0xFFFFFFFF) — the checksum used by EXSK v2 frames.
- [ExDataSketch.Binary.Header](ExDataSketch.Binary.Header.md): EXSK v2 binary frame header.
- [ExDataSketch.Binary.Validator](ExDataSketch.Binary.Validator.md): Structured validation primitives for EXSK frames.
- [ExDataSketch.DataSketches.CompactSketch](ExDataSketch.DataSketches.CompactSketch.md): Apache DataSketches CompactSketch binary codec for Theta sketches.
- [ExDataSketch.DataSketches.Murmur3](ExDataSketch.DataSketches.Murmur3.md): Minimal MurmurHash3_x64_128 implementation for DataSketches seed hash computation.
- [ExDataSketch.Hash.Metadata](ExDataSketch.Hash.Metadata.md): Shared hash + sketch metadata block.
- [ExDataSketch.Hash.Murmur3](ExDataSketch.Hash.Murmur3.md): MurmurHash3_x64_128 (64-bit output).
- [ExDataSketch.Hash.Validation](ExDataSketch.Hash.Validation.md): Compatibility checks for hash configurations across merging sketches.
- [ExDataSketch.Hash.XXH3](ExDataSketch.Hash.XXH3.md): XXHash3 (64-bit) hash algorithm.
- [ExDataSketch.Integration](ExDataSketch.Integration.md): Runtime dependency detection for optional integrations.

- Sketch Algorithms
  - [ExDataSketch.Bloom](ExDataSketch.Bloom.md): Bloom filter for probabilistic membership testing.
  - [ExDataSketch.CMS](ExDataSketch.CMS.md): Count-Min Sketch (CMS) for frequency estimation.
  - [ExDataSketch.CQF](ExDataSketch.CQF.md): Counting Quotient Filter (CQF) for multiset membership with approximate counting.
  - [ExDataSketch.Cuckoo](ExDataSketch.Cuckoo.md): Cuckoo filter for probabilistic membership testing with deletion support.
  - [ExDataSketch.DDSketch](ExDataSketch.DDSketch.md): DDSketch quantiles sketch for value-relative-accuracy quantile estimation.
  - [ExDataSketch.FilterChain](ExDataSketch.FilterChain.md): Capability-aware composition framework for chaining membership filters.
  - [ExDataSketch.FrequentItems](ExDataSketch.FrequentItems.md): FrequentItems sketch for approximate heavy-hitter detection using the
SpaceSaving algorithm.
  - [ExDataSketch.HLL](ExDataSketch.HLL.md): HyperLogLog (HLL) sketch for cardinality estimation.
  - [ExDataSketch.IBLT](ExDataSketch.IBLT.md): Invertible Bloom Lookup Table (IBLT) for set reconciliation.
  - [ExDataSketch.KLL](ExDataSketch.KLL.md): KLL (Karnin-Lang-Liberty) quantiles sketch for rank and quantile estimation.
  - [ExDataSketch.MisraGries](ExDataSketch.MisraGries.md): MisraGries sketch for deterministic heavy hitter detection.
  - [ExDataSketch.Quantiles](ExDataSketch.Quantiles.md): Facade for quantile sketch algorithms.
  - [ExDataSketch.Quotient](ExDataSketch.Quotient.md): Quotient filter for probabilistic membership testing with safe deletion and merge.
  - [ExDataSketch.REQ](ExDataSketch.REQ.md): REQ (Relative Error Quantiles) sketch for tail-accuracy quantile estimation.
  - [ExDataSketch.Theta](ExDataSketch.Theta.md): Theta Sketch for set operations on cardinalities.
  - [ExDataSketch.ULL](ExDataSketch.ULL.md): UltraLogLog (ULL) sketch for cardinality estimation.
  - [ExDataSketch.XorFilter](ExDataSketch.XorFilter.md): Xor filter for static, immutable probabilistic membership testing.

- Stream Integration
  - [ExDataSketch.Stream](ExDataSketch.Stream.md): Stream-native sketch construction and reduction.

- Dataflow Integration
  - [ExDataSketch.Broadway](ExDataSketch.Broadway.md): Broadway integration for sketch aggregation.
  - [ExDataSketch.Broadway.PeriodicAggregator](ExDataSketch.Broadway.PeriodicAggregator.md): A GenServer that periodically accumulates and flushes sketch data.
  - [ExDataSketch.Flow](ExDataSketch.Flow.md): Flow integration for parallel sketch reduction.
  - [ExDataSketch.GenStage](ExDataSketch.GenStage.md): GenStage integration for sketch aggregation.
  - [ExDataSketch.GenStage.SketchConsumer](ExDataSketch.GenStage.SketchConsumer.md): A GenStage consumer that accumulates events into a sketch.
  - [ExDataSketch.GenStage.SketchProducer](ExDataSketch.GenStage.SketchProducer.md): A GenStage producer that emits accumulated sketch snapshots on demand.
  - [ExDataSketch.GenStage.SketchStage](ExDataSketch.GenStage.SketchStage.md): A combined GenStage producer-consumer for sketch aggregation pipelines.

- Persistence
  - [ExDataSketch.Storage](ExDataSketch.Storage.md): Persistence backends for ExDataSketch sketches.
  - [ExDataSketch.Storage.CubDB](ExDataSketch.Storage.CubDB.md): CubDB-backed persistence for sketches.
  - [ExDataSketch.Storage.DETS](ExDataSketch.Storage.DETS.md): DETS-backed persistence for sketches.
  - [ExDataSketch.Storage.ETS](ExDataSketch.Storage.ETS.md): ETS-backed persistence for sketches.
  - [ExDataSketch.Storage.Ecto](ExDataSketch.Storage.Ecto.md): Ecto-backed persistence for sketches.
  - [ExDataSketch.Storage.Ecto.Migration](ExDataSketch.Storage.Ecto.Migration.md): Migration helper for creating the `ex_data_sketch_sketches` table.
  - [ExDataSketch.Storage.Ecto.Schema](ExDataSketch.Storage.Ecto.Schema.md): Ecto schema for the `ex_data_sketch_sketches` table.
  - [ExDataSketch.Storage.Mnesia](ExDataSketch.Storage.Mnesia.md): Mnesia-backed persistence for sketches.

- Infrastructure
  - [ExDataSketch.Backend](ExDataSketch.Backend.md): Behaviour defining the computation backend for ExDataSketch.
  - [ExDataSketch.Backend.Pure](ExDataSketch.Backend.Pure.md): Pure Elixir backend for ExDataSketch.
  - [ExDataSketch.Backend.Rust](ExDataSketch.Backend.Rust.md): Rust NIF-accelerated backend for ExDataSketch.
  - [ExDataSketch.Codec](ExDataSketch.Codec.md): ExDataSketch-native binary serialization codec (EXSK format).
  - [ExDataSketch.Hash](ExDataSketch.Hash.md): Stable 64-bit hash interface for ExDataSketch.
  - [ExDataSketch.Telemetry](ExDataSketch.Telemetry.md): Structured telemetry event emission for ExDataSketch.
  - [ExDataSketch.Telemetry.OpenTelemetry](ExDataSketch.Telemetry.OpenTelemetry.md): OpenTelemetry span integration for ExDataSketch telemetry events.

- Errors
  - [ExDataSketch.Errors](ExDataSketch.Errors.md): Error types for ExDataSketch.

- Exceptions
  - [ExDataSketch.Errors.DeserializationError](ExDataSketch.Errors.DeserializationError.md): Returned when binary data cannot be deserialized.

  - [ExDataSketch.Errors.IncompatibleSketchesError](ExDataSketch.Errors.IncompatibleSketchesError.md): Returned when attempting to merge sketches with incompatible parameters.

  - [ExDataSketch.Errors.InvalidChainCompositionError](ExDataSketch.Errors.InvalidChainCompositionError.md): Raised when a FilterChain stage composition is invalid.

  - [ExDataSketch.Errors.InvalidOptionError](ExDataSketch.Errors.InvalidOptionError.md): Returned when an option value is invalid.

  - [ExDataSketch.Errors.NotImplementedError](ExDataSketch.Errors.NotImplementedError.md): Raised when a stubbed function is called before its implementation is available.

  - [ExDataSketch.Errors.UnsupportedOperationError](ExDataSketch.Errors.UnsupportedOperationError.md): Raised when an operation is not supported by a structure.

## Mix Tasks

- [mix ex_data_sketch.gen.migration](Mix.Tasks.ExDataSketch.Gen.Migration.md): Generates a migration for the `ex_data_sketch_sketches` table.

