Cassandra SSTable Deduplication via Fixed-Size Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cassandra data files pose challenges for deduplication due to constant changes, reorganization, and reordering, which hinder the identification of redundant data, resulting in low compression factors and inefficient data storage and transfer.

Innovation Solution

Transforming raw Cassandra data files into a format with fixed-sized segments allows for effective deduplication by segmenting at the row level, ensuring consistent fingerprinting and identification of duplicates across nodes, even with data reordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If deduplication is performed on raw Cassandra data files, then storage space is reduced, but deduplication effectiveness is poor due to constant data reorganization and reordering

Engineering Contradiction:
Improvestorage spaceVSAvoiddeduplication effectiveness
Core Design Contradiction:
Loss of substanceVSMeasurement precision

Solution Approach 1:

The patent segments Cassandra data files into fixed-size chunks with consistent boundaries, independent of internal data reorganization. By dividing files into uniform segments rather than relying on variable data boundaries, the system ensures that identical data segments produce matching fingerprints even when data is reorganized within the file structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of data segmentation from variable (based on data content boundaries) to fixed (uniform chunk sizes). This parameter change ensures consistent fingerprinting across backup operations despite Cassandra's internal data reorganization, compaction, and reordering activities.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If data is constantly reorganized and reordered in Cassandra files, then data flexibility and scalability are improved, but identification of redundant data becomes difficult

Engineering Contradiction:
Improvedata flexibilityVSAvoidredundant data identification
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces fixed-size segment boundaries as an intermediary layer between the variable Cassandra data structure and the deduplication process. These consistent segment boundaries act as a mediator that allows redundant data identification without being affected by internal data reorganization, compaction, or reordering operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

By segmenting data into fixed-size chunks with consistent boundaries, the patent creates stable identification units that remain recognizable across different backup operations. This segmentation approach allows the system to identify redundant data even when Cassandra reorganizes or reorders data within the files.

Inventive Principle:
Principle #1Segmentation

3Reliability

If SSTables are copied from all nodes for backup, then data completeness is ensured, but network traffic and storage requirements increase

Engineering Contradiction:
Improvedata completenessVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent changes the backup parameter from copying entire SSTables to copying only unique fixed-size segments. By using consistent segment boundaries and fingerprint-based deduplication, the system identifies and transfers only unique segments across the network, dramatically reducing network traffic while ensuring data completeness through comprehensive segment coverage.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of copying complete SSTables (excessive action), the patent performs partial copying of only the unique segments required for data reconstruction. This partial action approach reduces network traffic and storage requirements while maintaining data completeness, as all unique segments are captured and duplicates are eliminated through deduplication.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10769111B2Data transformation of Cassandra files for improved deduplication during backup
Publication Date: 2020.09.08 EMC IP HLDG CO LLC
  • US10769111B2 patent drawing
  • US10769111B2 patent drawing
  • US10769111B2 patent drawing

AI summary

Cassandra SSTable data is transformed to provide data rows that are a consistent size such that data in each row has a length that is contained within a selected fixed sized kilobyte segment for deduplication. Tables of a Cassandra cluster node are translated in parallel to JSON format using Cassandra SSTableDump and the table rows are parsed to provide data rows corresponding to the data in each table row. Each row of data is padded with a predictable pattern of bits such that the data row has a length corresponding to the selected fixed segment size and has boundary locations that correspond to multiple of the selected segment size. Since each row of data starts on a segment boundary, duplicate rows of data will be identified wherever they move within a table.