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

[Proposal] Distributed write-ahead logging #626

Closed
v0y4g3r opened this issue Nov 24, 2022 · 1 comment
Closed

[Proposal] Distributed write-ahead logging #626

v0y4g3r opened this issue Nov 24, 2022 · 1 comment
Assignees
Labels
C-feature Category Features
Milestone

Comments

@v0y4g3r
Copy link
Contributor

v0y4g3r commented Nov 24, 2022

What problem does the new feature solve?

Shared-data architecture binds dedicated local storage to every computing node, which has good performance for small IO operations like continous insertions. But, the replication and failover of shared-data style systems is complicated and error-prone. Shared-nothing architecture, on the other hand, benifits from the inherent replication and scalibility of cloud storages like S3, but the write performance may degrade when handling continous IO due the overhead of cloud storage operations.

Thus we need a distributed WAL to bridge the gap between shared-data and shared-nothing. Data inserted first go to this WAL to ensure durability and then apply to datanode. Insertions are buffered on datanode's local storage and write to cloud storage at a time to increase throughput. The data buffered on datanode is transient. Once datanode crashes, those data can be easily recovered from WAL.

What does the feature do?

Implement a distributed write-ahead logging component. Maybe the storage should be pluggable, allowing users to choose other streaming systems like Kafka as storage.

Implementation challenges

No response

@v0y4g3r v0y4g3r added the C-feature Category Features label Nov 24, 2022
@v0y4g3r v0y4g3r self-assigned this Nov 24, 2022
@xtang xtang mentioned this issue Nov 30, 2022
24 tasks
@xtang xtang added this to the Release v0.1 milestone Nov 30, 2022
@v0y4g3r v0y4g3r removed this from the Release v0.1 milestone Feb 2, 2023
@MichaelScofield MichaelScofield assigned niebayes and unassigned v0y4g3r Nov 3, 2023
@MichaelScofield MichaelScofield added this to the v0.5 milestone Nov 3, 2023
@MichaelScofield
Copy link
Collaborator

Related to #2722. Will implement a kafka based remote WAL. With some generic design in mind. Our further custom remote WAL service will be placed in a seperate repo, so close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-feature Category Features
Projects
None yet
Development

No branches or pull requests

4 participants