Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-6509

Implement fast-forwarding FuzzyRowFilter to allow filtering rows e.g. by "???alex?b"

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.95.0
    • Filters
    • None
    • Reviewed

    Description

      Implement fuzzy row key filter to allow fetching records e.g. by this criteria: "???alex?b".

      This seems to be very useful as an alternative to select records by row keys by specifying their part which is not prefix part. Due to fast-forwarding nature of the filter in many situations this helps to avoid heavy full-table scans.

      This is especially effective when you have composite row key and (some of) its parts has fixed length. E.g. with the key of format userId_actionId_time, given that userId and actionId length is fixed, one can select user actions of specific type using fuzzy row key by specifying mask "????_myaction". Given fast-forwarding nature of filter, this will usually work much faster than doing whole table scan with any of the existing server-side filters.

      In many cases this can work as secondary-indexing alternative.

      Many times users implement it as a custom filter and many times they just don' know this is possible. Let's add it to the common codebase.

      Attachments

        1. HBASE-6509.patch
          19 kB
          Alex Baranau
        2. HBASE-6509_3.patch
          95 kB
          Alex Baranau
        3. HBASE-6509_2.patch
          20 kB
          Alex Baranau
        4. HBASE-6509_1.patch
          19 kB
          Alex Baranau

        Issue Links

          Activity

            People

              alexb Alex Baranau
              alexb Alex Baranau
              Votes:
              1 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: