Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-8868

JBOD Aware Size Tiered Compaction Strategy

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Low
    • Resolution: Duplicate
    • None
    • None
    • None

    Description

      I'd like to propose a new compaction strategy targeting JBOD configurations. I believe this strategy would be most useful to machines with 4+ spinning disks but would also see some benefit on SSDs.

      There are a several goals with this strategy:

      1. Minimize disk seeks during the compaction process
      2. Maximize disk throughput when multiple disks are present
      3. Better data distribution across disks. Data should automatically be balanced (applies when adding a new, empty disk)

      When a compaction is to occur, the algorithm first selects a disk to be the receiver. This disk should be the one with the most free space. The disks with the least free space should then be chosen as the origin disks. SStables are selected from the origin disks, and compacted to the receiver. This should both minimize seeks as well as auto balance data across disks.

      I'm not sure if this would apply to leveled compaction, but it may apply to date tiered.

      Attachments

        1. jbod_aware.png
          18 kB
          Jon Haddad

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rustyrazorblade Jon Haddad
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: