One type of data store that may conventionally be used to implement storage and maintenance of large datasets is a block-based data store. In a block-based data store, data such as key-value records are stored in data blocks that are optimized for sequential access from storage. In order to enable the performance of queries of a block-based data store, indices may be constructed that are associated with various attributes, values, or other information in the data store. To date, the development of indexing techniques for block-based data stores has focused mainly on maximizing query speed for complete, static sets of data blocks. Thus, conventional techniques commonly regard indexing as a one-time process performed upon importation of a complete dataset. Such conventional techniques typically do not prioritize indexing speed and/or efficiency, and may not enable efficient incremental indexing of dynamic datasets.
In a wide variety of real-world applications, indexing speed and/or efficiency may be important considerations, as may be the ability to incrementally index a dataset that is constantly changing. Some dynamic block-based data stores may continually receive and incorporate new records, in some cases millions or even billions of times per second. As such, techniques for efficient incremental indexing of block-based data stores may be desirable.