Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-17318

Implement RocksDB based sorted index storage

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-beta1
    • None

    Description

      Pretty straightforward. Complicated places are:

      • Binary tuples comparator: should be as fast as possible. Some optimizations might be moved to other issues.
      • Thorough testing is required. We have both Java and native comparators planned. They should behave identically. This means a specific way of writing tests, to account for this in advance.
      • Bounds checking on range scan:
        by default, comparator should include the lower bound and exclude the upper bound. This is how prefix search works. This means that exclusion of the lower bound (if needed) and inclusion of the upper bound (if needed) must be performed manually inside of the scan method.

      The question is, do we use separate column families for indexes? At one hand, this increases the number of files and potentially even increases time of the flush, but on the other, it looks easy (or is it).

      Currently, every index has only a UUID id. Just like for tables, we could create an integer identifier, because why not. This way we could store all indexes in a single column family without too much overhead.

      Attachments

        Issue Links

          Activity

            People

              apolovtcev Aleksandr Polovtsev
              ibessonov Ivan Bessonov
              Semyon Danilov Semyon Danilov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 40m
                  3h 40m