Closed rogercloud closed 1 year ago
@rogercloud looks like some notes on CURP vs RAFT would be a good thing, can you please tell us how they compare? thanks!
@dims For the requests don't conflict with each other, CURP takes half time to get the requests committed compared to Raft, because CURP requries only one RTT while Raft requires two. In the multi-cluster or multi-datecenter casese, CURP out-performs Raft. Even in the worst case that every request conflicts with others, CURP's performance is the same as Raft's. You get the benchmark result in our project page.
It is mentioned that the geo distributed consistency management service is based on the WAN consensus protocol. Which protocol is it? How does this protocol compare with raft and paxos? Could you list the Pros and cons?
I do not see the maintainer's name. Did I miss something?
Have you done any correctness testing on the project? eg Jepsen or equivalent?
@cathyhongzhang The protocol is called CURP, which is published in NSDI'19.
Compared to Raft or Paxos, it takes only 1 RRT to commit a request in the normal case while Raft takes 2. Even for the worst case, every request is changing the same key's value, CUPR's performance is the same as Raft. For more protocol comparison, please refer to the blog. For more performance result, you can refer to the README of the project.
The Pros of CURP:
The Cons of CURP:
Have you done any correctness testing on the project? eg Jepsen or equivalent?
We haven't done the serious correctness testing yet like Jepsen.
But we have
And we're planning to apply Jepsen to Xline in the future. We also take chaos engineering into the roadmap to make Xline robust in the production environment.
I do not see the maintainer's name. Did I miss something?
@cathyhongzhang Here is the xline maintainer file
@rogercloud @Phoenix500526 Hi, based on the last TOC Meeting on 2023-05-09, we'd like more information on the following:
Given that: 1) there are concerns around the community's current ability to sustain contributors to etcd (https://github.com/cncf/toc/issues/898), and 2) Xline has only 3 major contributors, we are concerned that we don't have strong enough of an ecosystem to support Xline right now. What are your plans on attracting, retaining contributors and growing them into maintainers?
Thanks for adding a link to the blogpost that describes the CURP protocal in detail. Please also add this in the main repo so that it's part of official documentation.
Please provide additional details on the support you are looking from the CNCF after joining in as a Sandbox project. Additionally, please clarify if you are looking for any legal/IP assistance.
It looks like you presented in the TAG Storage meeting on 26th April (thanks for the proactive engagement with TAGs!). @xing-yang it would be great to hear TAG Storage's feedback and recommendations around Xline joining as a Sandbox project. Additionally, could the recording for Xline's presentation in TAG Storage be made available?
@rogercloud @Phoenix500526 Hi, based on the last TOC Meeting on 2023-05-09, we'd like more information on the following:
- Given that: 1) there are concerns around the community's current ability to sustain contributors to etcd (Health of etcd project toc#898), and 2) Xline has only 3 major contributors, we are concerned that we don't have strong enough of an ecosystem to support Xline right now. What are your plans on attracting, retaining contributors and growing them into maintainers?
We're planning or doing the follow the actions to sustain and attract contributors to Xline.
Make the barrier lower for new contributors through improving architecture design documentation to ensure that novices can easily track the history of the project and get started as soon as possible.
Xline is a Rust language project that can attract Rust enthusiasts to contribute. We have some tasks that do not require an in-depth understanding of Curp protocol or this project, but only the APIs and Rust languages. It is friendly for those who want to get started and use Rust in an open-source project.
Raise the visibility and awareness of the project, e.g., hold a monthly community meeting to discuss the latest designs and updates. We will actively seek out potential contributors and provide resources and support to help them get involved with the project.
Provide mentorship programs to support the growth of contributors into maintainers. We plan to prioritize the creation of a welcoming and inclusive community culture to ensure that all contributors feel valued and supported, and is willing to grow with the project.
- Thanks for adding a link to the blogpost that describes the CURP protocal in detail. Please also add this in the main repo so that it's part of official documentation.
The blogpost has been added in the main repo.
- Please provide additional details on the support you are looking from the CNCF after joining in as a Sandbox project. Additionally, please clarify if you are looking for any legal/IP assistance.
Firstly, the primary motivation for joining CNCF is to collaborate with other projects in CNCF to make geo-distributed deployment convenient. The goal of Xline is to become the basic component of cloud native ecosystem. We will try to replace ETCD in some popular CNCF projects, and this could introduce more users to become Xline Contributors/maintainters. We believe the inclusion of Xline in the CNCF ecosystem, which has one of the biggest and most active open source community, could help increase the awareness of Xline, and make us get connection, collaboration and technical support with other CNCF projects. We want to grow and leverage the expertise from the CNCF to accompany the project on its journey to become more mature. Secondly, CNCF has well-defined project maturity levels, which provides a clear goal and guidance to the project. With the guidance of CNCF, we can follow its procedures and standards, and set attainable goals to refine our tools, promote community engagement, and integrate Xline with other cloud native projects.
We would like to clarify that we do not require any legal or IP assistance. Our project Xline is fully open source. We operate under the guidelines and licenses of the open source community. As for the protocol, the two graduated CNCF projects, Etcd and TiKV, both use Raft and do not involve any patent issues. Curp, which Xline is based on, is born out of Raft and is an extension of Raft by the same author, John Ousterhout, a professor from Stanford University. Therefore, we do not foresee any patent issues and look for any legal/IP assistance.
- It looks like you presented in the TAG Storage meeting on 26th April (thanks for the proactive engagement with TAGs!). @xing-yang it would be great to hear TAG Storage's feedback and recommendations around Xline joining as a Sandbox project. Additionally, could the recording for Xline's presentation in TAG Storage be made available?
Thank you Nikhita for reaching out to TAG Storage for more information.
Hi @nikhita, here's the recording of Xline's presentation at TAG Storage meeting on April 26th. Here are the slides. Let me talk to the other TAG Storage leads and get back to you on our feedback. Thanks.
From TAG Storage, we think that Xline is an interesting project that uses a different protocol CURP (compared to RAFT used by etcd). This is a "novel approach to existing functional areas" so it seems to be exactly what a CNCF Sandbox project is for. It will be great if there are already adopters for Xline which will give us some validation, however, we believe that is not a requirement for a Sandbox project. The concern for the lack of contributors/maintainers is real, but that is true across the board for all projects including graduated projects or certain areas within a graduated project. Hopefully by becoming a CNCF project, it will help Xline to attract new contributors. It's interesting to see how this project will evolve in the future. cc @chira001
From TAG Storage, we think that Xline is an interesting project that uses a different protocol CURP (compared to RAFT used by etcd). This is a "novel approach to existing functional areas" so it seems to be exactly what a CNCF Sandbox project is for. It will be great if there are already adopters for Xline which will give us some validation, however, we believe that is not a requirement for a Sandbox project. The concern for the lack of contributors/maintainers is real, but that is true across the board for all projects including graduated projects or certain areas within a graduated project. Hopefully by becoming a CNCF project, it will help Xline to attract new contributors. It's interesting to see how this project will evolve in the future. cc @chira001
Thanks for the feedback from the TAG Storage. We also beleive Xline will attract more contributors by becoming a CNCF project.
@nikhita - anything else we need?
@nikhita - anything else we need?
No, we are good here!
@rogercloud @Phoenix500526 can you clarify which repos are being donated to the CNCF and can you confirm that it is not the whole of the https://github.com/datenlord org?
@rogercloud @Phoenix500526 can you clarify which repos are being donated to the CNCF and can you confirm that it is not the whole of the https://github.com/datenlord org?
@nikhita Xline applied for joining sandbox. Here is the repo being donated to CNCF: (https://github.com/datenlord/xline). Thanks:-)
/vote-sandbox
@amye has called for a vote on [Sandbox] Xline
(#11).
The members of the following teams have binding votes:
Team |
---|
@cncf/cncf-toc |
Non-binding votes are also appreciated as a sign of support!
You can cast your vote by reacting to this
comment. The following reactions are supported:
In favor | Against | Abstain |
---|---|---|
👍 | 👎 | 👀 |
Please note that voting for multiple options is not allowed and those votes won't be counted.
The vote will be open for 7days
. It will pass if at least 66%
of the users with binding votes vote In favor 👍
. Once it's closed, results will be published here as a new comment.
/check-vote
So far 36.36%
of the users with binding vote are in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
4 | 0 | 0 | 7 |
User | Vote | Timestamp |
---|---|---|
TheFoxAtWork | In favor | 2023-06-13 18:04:05.0 +00:00:00 |
rochaporto | In favor | 2023-06-13 18:38:12.0 +00:00:00 |
cathyhongzhang | In favor | 2023-06-13 18:08:23.0 +00:00:00 |
nikhita | In favor | 2023-06-14 8:08:34.0 +00:00:00 |
/check-vote
So far 45.45%
of the users with binding vote are in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
5 | 0 | 0 | 6 |
User | Vote | Timestamp |
---|---|---|
TheFoxAtWork | In favor | 2023-06-13 18:04:05.0 +00:00:00 |
cathyhongzhang | In favor | 2023-06-13 18:08:23.0 +00:00:00 |
justincormack | In favor | 2023-06-16 10:20:23.0 +00:00:00 |
nikhita | In favor | 2023-06-14 8:08:34.0 +00:00:00 |
rochaporto | In favor | 2023-06-13 18:38:12.0 +00:00:00 |
Dear TOC members,
We would like to take this opportunity to highlight some key features and innovations of Xline. Xline is an open source distributed KV storage, which is used to manage metadata, and ensure high performance and strong data consistency in cross-cloud and cross-data center scenarios. Its unique features are as follows:
Distributed Multi-Cluster KV Storage Engine: Xline enables seamless data management in multi-cluster environments, providing a simple and convenient approach for mutual access, discovery, and modification of data.
Unified Metadata Management System: By caching hot data in memory, Xline facilitates cross-cloud data access and automates data migration and backup, thus establishing a unified platform for efficient and effective data management.
High-performance Multi-Data Center Consensus Protocol: Xline pioneers a geographically distributed consistency management server based on a wide area network consensus protocol. This breakthrough innovation resolves the challenges associated with cross-cloud integration and ensures data consistency across multiple data centers.
Compatible with ETCD Interface: Xline offers compatibility with the widely adopted ETCD interface, providing users with familiar KV interface and multi-version concurrency control. This compatibility enables smooth utilization and migration within Kubernetes (K8S) environments.
As for Xline’s roadmap, we plan to
If you have any questions or comment, please feel free to let us know. Thank you!
/check-vote
So far 72.73%
of the users with binding vote are in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
8 | 0 | 0 | 3 |
User | Vote | Timestamp |
---|---|---|
TheFoxAtWork | In favor | 2023-06-13 18:04:05.0 +00:00:00 |
rochaporto | In favor | 2023-06-13 18:38:12.0 +00:00:00 |
RichiH | In favor | 2023-06-16 11:22:50.0 +00:00:00 |
mauilion | In favor | 2023-06-16 15:29:40.0 +00:00:00 |
nikhita | In favor | 2023-06-14 8:08:34.0 +00:00:00 |
justincormack | In favor | 2023-06-16 10:20:23.0 +00:00:00 |
mattfarina | In favor | 2023-06-16 17:45:15.0 +00:00:00 |
cathyhongzhang | In favor | 2023-06-13 18:08:23.0 +00:00:00 |
The vote passed! 🎉
81.82%
of the users with binding vote were in favor (passing threshold: 66%
).
In favor | Against | Abstain | Not voted |
---|---|---|---|
9 | 0 | 0 | 2 |
User | Vote | Timestamp |
---|---|---|
@RichiH | In favor | 2023-06-16 11:22:50.0 +00:00:00 |
@rochaporto | In favor | 2023-06-13 18:38:12.0 +00:00:00 |
@nikhita | In favor | 2023-06-14 8:08:34.0 +00:00:00 |
@mattfarina | In favor | 2023-06-16 17:45:15.0 +00:00:00 |
@TheFoxAtWork | In favor | 2023-06-13 18:04:05.0 +00:00:00 |
@erinaboyd | In favor | 2023-06-20 13:12:11.0 +00:00:00 |
@cathyhongzhang | In favor | 2023-06-13 18:08:23.0 +00:00:00 |
@mauilion | In favor | 2023-06-16 15:29:40.0 +00:00:00 |
@justincormack | In favor | 2023-06-16 10:20:23.0 +00:00:00 |
Closing with approved, new onboarding issue: https://github.com/cncf/sandbox/issues/156
Application contact emails
jicheng.shi@datenlord.com,pu.wang@datenlord.com, zheng.pan@datenlord.com, tracy.zhu@datenlord.com
Project Summary
A geo-distributed KV store for metadata management
Project Description
Xline is a distributed KV storage for metadata management. Xline makes it possible to manage metadata, such as indexes, permissions, and configurations across multiple clusters. Xline can achieve high-performance data access and strong consistency in cross data center scenarios. Currently, Xline is compatible with the ETCD interface, so that existing ETCD users can seamlessly switch to Xline and get high performance metadata management across multiple clusters.
The Aim of the Project
Data isolation and data fragmentation resulting from cloud barrier become impediments to business growth. The biggest challenge of multi-data center architecture is how to maintain strong data consistency and ensure high performance in the scenarios of multi-data center competition and modification. Traditional single data center solutions cannot meet the availability, performance and consistency requirements of multi-data center scenarios. DatenLord launched the open source distributed KV storage called Xline, which is targeted to multi-data center scenarios. It aims to realize a high-performance metadata management solution across multiple clusters, which is critical for businesses with geo-distributed, and multi-active deployment requirements.
Characteristics of the project
Org repo URL
https://github.com/datenlord
Project repo URL
https://github.com/datenlord/xline
Additional repos
No response
Website URL
No response
Roadmap
https://github.com/datenlord/Xline#roadmap
Roadmap context
No response
Contributing Guide
https://github.com/datenlord/Xline/blob/master/CONTRIBUTING.md
Code of Conduct (CoC)
https://github.com/datenlord/Xline/blob/master/CODE_OF_CONDUCT.md
Adopters
No response
Contributing or Sponsoring Org
No response
Maintainers file
https://github.com/datenlord/Xline/blob/master/MAINTAINERS
IP Policy
Trademark and accounts
Why CNCF?
The geo-distributed deployment has become increasingly popular nowadays, in which situation Xline is of help in terms of unified management of metadata with high performance and security. We believe that Xline is a missing piece of the CNCF landscape. The project is motivated by challenges observed in cloud-native environments, and will benefit users and organizations that store data in multi-clusters and across clouds. Xline is built naturally for cloud native, compatible with ETCD interface. The success of this project depends on maintaining its vendor-neutrality, as well as keeping collaboration with project adjacent in the ecosystem. Given its mission and relationship with the CNCF projects, we truly believe CNCF, as an open source platform, is a perfect place to host Xline.
We hope to acquire support (e.g., legal assistance in aspects of potential IP and trademark issues) from CNCF, and collaborate with other projects in CNCF to make geo-distributed deployment convenient. We believe the inclusion of Xline in the CNCF ecosystem could help increase the awareness of the project. With the guidance of CNCF, we can follow its procedures and standards, and set attainable goals to refine our open source tools, promote community engagement, and integrate Xline with other cloud native projects.
Benefit to the Landscape
Xline is focused on the infrastructure of cloud native storage, which is vital to the development of cloud native technology. The joining of Xline will help CNCF accelerate the evolution of cloud native storage system in terms of data access in geo-distributed scenarios, in turn benefiting the entire cloud native ecosystem.
First, Xline is fully aligned with the cloud native computing ecosystem because it is compatible with ETCD interface. ETCD enables K8S management in a single cluster, while Xline expands cloud native scenarios to multi clusters and allows users to experience task orchestration across multiple clusters by K8S. Moreover, Xline achieves metadata management among multi-clusters with high performance and security.
Cloud Native 'Fit'
No response
Cloud Native 'Integration'
No response
Cloud Native Overlap
No response
Similar projects
ETCD and ZooKeeper
Product or Service to Project separation
N/A
Project presentations
No response
Project champions
No response
Additional information
Here's the product intro slides