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

Make Compacting Memstore default in 2.0 with BASIC as the default type

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.0
    • Component/s: regionserver
    • Labels:
      None
    • Release Note:
      Hide
       This JIRA changes the default MemStore to be CompactingMemStore instead of DefaultMemStore. In-memory compaction of CompactingMemStore demonstrated sizable improvement in HBase’s write amplification and read/write performance.

      CompactingMemStore achieves these gains through smart use of RAM. The algorithm periodically re-organizes the in-memory data in efficient data structures and reduces redundancies. The HBase server’s memory footprint therefore periodically expands and contracts. The outcome is longer lifetime of data in memory, less I/O, and overall faster performance. More details about the algorithm and its use appear in the Apache HBase Blog: https://blogs.apache.org/hbase/

      How To Use:
      The in-memory compaction level can be configured both globally and per column family. The supported levels are none (DefaultMemStore), basic, and eager.

      By default, all tables apply basic in-memory compaction. This global configuration can be overridden in hbase-site.xml, as follows:

      <property>
       <name>hbase.hregion.compacting.memstore.type</name>
       <value><none|basic|eager></value>
       </property>

      The level can also be configured in the HBase shell per column family, as follows:

      create ‘<tablename>’,
      {NAME => ‘<cfname>’, IN_MEMORY_COMPACTION => ‘<NONE|BASIC|EAGER>’}
      Show
       This JIRA changes the default MemStore to be CompactingMemStore instead of DefaultMemStore. In-memory compaction of CompactingMemStore demonstrated sizable improvement in HBase’s write amplification and read/write performance. CompactingMemStore achieves these gains through smart use of RAM. The algorithm periodically re-organizes the in-memory data in efficient data structures and reduces redundancies. The HBase server’s memory footprint therefore periodically expands and contracts. The outcome is longer lifetime of data in memory, less I/O, and overall faster performance. More details about the algorithm and its use appear in the Apache HBase Blog: https://blogs.apache.org/hbase/ How To Use: The in-memory compaction level can be configured both globally and per column family. The supported levels are none (DefaultMemStore), basic, and eager. By default, all tables apply basic in-memory compaction. This global configuration can be overridden in hbase-site.xml, as follows: <property>  <name>hbase.hregion.compacting.memstore.type</name>  <value><none|basic|eager></value>  </property> The level can also be configured in the HBase shell per column family, as follows: create ‘<tablename>’, {NAME => ‘<cfname>’, IN_MEMORY_COMPACTION => ‘<NONE|BASIC|EAGER>’}

      Attachments

      1. ut.v1.patch
        17 kB
        Chia-Ping Tsai
      2. HBASE-17343-V09.patch
        1 kB
        Anastasia Braginsky
      3. HBASE-17343-V08.patch
        1 kB
        Anastasia Braginsky
      4. HBASE-17343-V07.patch
        1 kB
        Anastasia Braginsky
      5. HBASE-17343-V06.patch
        1 kB
        Anastasia Braginsky
      6. HBASE-17343-V05.patch
        1 kB
        Anastasia Braginsky
      7. HBASE-17343-V04.patch
        1 kB
        Anastasia Braginsky
      8. HBASE-17343-V02.patch
        2 kB
        Anastasia Braginsky
      9. HBASE-17343-V01.patch
        1 kB
        Anastasia Braginsky

        Activity

          People

          • Assignee:
            anastas Anastasia Braginsky
            Reporter:
            ram_krish ramkrishna.s.vasudevan
          • Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: