Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement SSTable Compaction Support #19

Open
imprvhub opened this issue Jan 13, 2025 · 0 comments · May be fixed by #22
Open

Implement SSTable Compaction Support #19

imprvhub opened this issue Jan 13, 2025 · 0 comments · May be fixed by #22
Assignees

Comments

@imprvhub
Copy link
Collaborator

Overview

The current implementation of TidesDB Python bindings (core.py and __init__.py) lacks support for SSTable compaction operations, which is a critical feature for database maintenance and performance optimization.

Current Status

  • Basic database operations are implemented (put/get/delete)
  • Cursor operations for data iteration are available
  • Transaction support is provided.

Missing Functionality

The compact_sstables operation needs to be implemented to enable:

  • Reduction of SSTable count through pairing and merging
  • Multi-threaded compaction support for performance

Proposed Solution

  1. Add compaction functionality to core.py
  2. Create a new sample file samples/compaction_operations.py
  3. Add corresponding tests in tests/test_compaction.py
  4. Update documentation
@imprvhub imprvhub self-assigned this Jan 13, 2025
imprvhub added a commit that referenced this issue Jan 14, 2025
- Added background SSTable compaction functionality to core.py, including the `start_background_partial_merge` method.
- Introduced a monitoring script for background compaction in `samples/compaction_operations.py`.
- Added unit tests for background compaction in `tests/test_compaction.py`.
- Added functions for compacting SSTables and starting background compaction, along with error handling.
- Still pending: Manual Compaction Support.

#19
@imprvhub imprvhub linked a pull request Jan 14, 2025 that will close this issue
@imprvhub imprvhub linked a pull request Jan 14, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant