Great thanks for the information On Tue, Sep 7, 2021 at 12:44 PM Blake Eggleston <beggles...@apple.com.invalid> wrote:
> Hi Jake, > > > 1. Will this effort eventually replace consistency levels in C*? I ask > > because one of the shortcomings of our paxos today is > > it can be easily mixed with non serialized consistencies and therefore > > users commonly break consistency by for example reading at CL.ONE while > > also > > using LWTs. > > This will likely require CLs to be specified at the schema level for > tables using multi partition transactions. I’d expect this to be available > for other tables, but not required. > > > 2. What structural changes are planned to support an external dependency > > project like this? Are there some high level interfaces you expect the > > project to adhere to? > > There will be some interfaces that need to be implemented in C* to support > the library. You can find the current interfaces in the accord.api package, > but these were written to support some initial testing, and not intended > for integration into C* as is. Things are pretty fluid right now and will > be rewritten / refactored multiple times over the next few months. > > Thanks, > > Blake > > > > On Sun, Sep 5, 2021 at 10:33 AM bened...@apache.org <bened...@apache.org > > > > wrote: > > > >> Wiki: > >> > https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-15%3A+General+Purpose+Transactions > >> Whitepaper: > >> > https://cwiki.apache.org/confluence/download/attachments/188744725/Accord.pdf > >> < > >> > https://cwiki.apache.org/confluence/download/attachments/188744725/Accord.pdf?version=1&modificationDate=1630847736966&api=v2 > >>> > >> Prototype: https://github.com/belliottsmith/accord > >> > >> Hi everyone, I’d like to propose this CEP for adoption by the community. > >> > >> Cassandra has benefitted from LWTs for many years, but application > >> developers that want to ensure consistency for complex operations must > >> either accept the scalability bottleneck of serializing all related > state > >> through a single partition, or layer a complex state machine on top of > the > >> database. These are sophisticated and costly activities that our users > >> should not be expected to undertake. Since distributed databases are > >> beginning to offer distributed transactions with fewer caveats, it is > past > >> time for Cassandra to do so as well. > >> > >> This CEP proposes the use of several novel techniques that build upon > >> research (that followed EPaxos) to deliver (non-interactive) general > >> purpose distributed transactions. The approach is outlined in the > wikipage > >> and in more detail in the linked whitepaper. Importantly, by adopting > this > >> approach we will be the _only_ distributed database to offer global, > >> scalable, strict serializable transactions in one wide area round-trip. > >> This would represent a significant improvement in the state of the art, > >> both in the academic literature and in commercial or open source > offerings. > >> > >> This work has been partially realised in a prototype. This partial > >> prototype has been verified against Jepsen.io’s Maelstrom library and > >> dedicated in-tree strict serializability verification tools, but much > work > >> remains for the work to be production capable and integrated into > Cassandra. > >> > >> I propose including the prototype in the project as a new source > >> repository, to be developed as a standalone library for integration into > >> Cassandra. I hope the community sees the important value proposition of > >> this proposal, and will adopt the CEP after this discussion, so that the > >> library and its integration into Cassandra can be developed in parallel > and > >> with the involvement of the wider community. > >> > > > > > > -- > > http://twitter.com/tjake > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org > For additional commands, e-mail: dev-h...@cassandra.apache.org > > -- http://twitter.com/tjake