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

    • Improvement
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • regionserver
    • None
    • 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>’}

    Description

      FYI anastas, eshcar and ebortnik.

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: