Blocks

    The fundamental data structures that M3 Query uses are . Blocks are what get created from the series iterators that M3DB returns. A is associated with a start and end time. It contains data from multiple time series stored in columnar format.

    Below is a visual representation of a set of Blocks. On top is the M3QL query that gets executed, and on the bottom, are the results of the query containing 3 different Blocks.

    At a high level, M3DB returns to M3 Query that contain a list of SeriesIterators for a given timeseries per namespace. M3 Query then aligns the blocks across common time bounds before applying consolidation.