Re: Released an ACID-compliant transaction library on top of Cassandra

2019-01-16 Thread Peter Corless
Yes, though as your link points out, "The RAMP family is not designed to
provide ACID guarantees - it’s for situations where atomic reads are good
enough. Concurrent writes will typically be handled with last write wins or
CRDTs."

On Wed, Jan 16, 2019 at 1:04 PM Jonathan Haddad  wrote:

> Sounds a bit like RAMP:
> http://rustyrazorblade.com/post/2015/ramp-made-easy/
>
> On Wed, Jan 16, 2019 at 12:51 PM Carl Mueller
>  wrote:
>
>> "2) Overview: In essence, the protocol calls for each data item to
>> maintain the last committed and perhaps also the currently active version,
>> for the data and relevant metadata. Each version is tagged with meta-data
>> pertaining to the transaction that created it. This includes the
>> transaction commit time and transaction identifier that created it,
>> pointing to a globally visible transaction status record (TSR) using a
>> Universal Resource Identifier (URI). The TSR is used by the client to
>> determine which version of the data item to use when reading it, and so
>> that transaction commit can happen just by updating (in one step) the TSR.
>> The transaction identifier, stored in the form of a URI, allows any client
>> regardless of its location to inspect it the TSR in order to determine the
>> transaction commitment state. Using the status of the TSR, any failure can
>> be either rolled forward to the later version, or rolled back to the
>> previous version. The test-andset capability on each item is used to
>> determine a consistent winner when multiple transactions attempt concurrent
>> activity on a conflicting set of items. A global order is put on the
>> records, through a consistent hash of the record identifiers, and used when
>> updating in order to prevent deadlocks. This approach is optimized to
>> permit parallel processing of the commit activity."
>>
>> It seems to be a sort of log-structure/append/change tracking storage
>> where multiple versions of the data to be updated are tracked as
>> transactions are applied to them, and therefore can be rolled back.
>>
>> Probably all active versions are read and then reduced to the final
>> product once all transactions are accounted for.
>>
>> Of course you can't have perpetual transaction changes stored so they
>> must be ... compacted ... at some point?
>>
>>  which is basically what cassandra does at the node level in the
>> read/write path with LSM, bloom filters, and merging data across disparate
>> sstables...?
>>
>> The devil is in the details of these things of course. Is that about
>> right?
>>
>> On Tue, Nov 13, 2018 at 9:54 AM Ariel Weisberg  wrote:
>>
>>> Hi,
>>>
>>> Fanastic news!
>>>
>>> Ariel
>>>
>>> On Tue, Nov 13, 2018, at 10:36 AM, Hiroyuki Yamada wrote:
>>> > Hi all,
>>> >
>>> > I am happy to release it under Apache 2 license now.
>>> > https://github.com/scalar-labs/scalardb
>>> >
>>> > It passes not only jepsen but also our-built destructive testing.
>>> > For jepsen tests, please check the following.
>>> > https://github.com/scalar-labs/scalardb/tree/master/jepsen/scalardb
>>> >
>>> > Also, as Yuji mentioned the other day, we also fixed/updated jepsen
>>> > tests for C* to make it work with the latest C* version properly and
>>> > follow the new style.
>>> > https://github.com/scalar-labs/jepsen/tree/cassandra
>>> >
>>> > In addition to that, we fixed/updated cassaforte used in the jepsen
>>> > tests for C* to make it work with the latest java driver since
>>> > cassaforte is not really maintained any more.
>>> > https://github.com/scalar-labs/cassaforte/tree/driver-3.0-for-jepsen
>>> >
>>> > We are pleased to be able to contribute to the community by the above
>>> updates.
>>> > Please give us any feedbacks or questions.
>>> >
>>> > Thanks,
>>> > Hiro
>>> >
>>> >
>>> > On Wed, Oct 17, 2018 at 8:52 AM Hiroyuki Yamada 
>>> wrote:
>>> > >
>>> > > Hi all,
>>> > >
>>> > > Thank you for the comments and feedbacks.
>>> > >
>>> > > As Jonathan pointed out, it relies on LWT and uses the protocol
>>> > > proposed in the paper.
>>> > > Please read the design document for more detail.
>>> > > https://github.com/scalar-labs/scalardb/blob/master/docs/design.md
>>> > >
>>> > > Regarding the licensing, we are thinking of releasing it with Apache
>>> 2
>>> > > if lots of developers are interested in it.
>>> > >
>>> > > Best regards,
>>> > > Hiroyuki
>>> > > On Wed, Oct 17, 2018 at 3:13 AM Jonathan Ellis 
>>> wrote:
>>> > > >
>>> > > > Which was followed up by
>>> https://www.researchgate.net/profile/Akon_Dey/publication/282156834_Scalable_Distributed_Transactions_across_Heterogeneous_Stores/links/56058b9608ae5e8e3f32b98d.pdf
>>> > > >
>>> > > > On Tue, Oct 16, 2018 at 1:02 PM Jonathan Ellis 
>>> wrote:
>>> > > >>
>>> > > >> It looks like it's based on this:
>>> http://www.vldb.org/pvldb/vol6/p1434-dey.pdf
>>> > > >>
>>> > > >> On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg <
>>> ar...@weisberg.ws> wrote:
>>> > > >>>
>>> > > >>> Hi,
>>> > > >>>
>>> > > >>> Yes this does sound great. Does this rely 

Re: Released an ACID-compliant transaction library on top of Cassandra

2019-01-16 Thread Jonathan Haddad
Sounds a bit like RAMP: http://rustyrazorblade.com/post/2015/ramp-made-easy/

On Wed, Jan 16, 2019 at 12:51 PM Carl Mueller
 wrote:

> "2) Overview: In essence, the protocol calls for each data item to
> maintain the last committed and perhaps also the currently active version,
> for the data and relevant metadata. Each version is tagged with meta-data
> pertaining to the transaction that created it. This includes the
> transaction commit time and transaction identifier that created it,
> pointing to a globally visible transaction status record (TSR) using a
> Universal Resource Identifier (URI). The TSR is used by the client to
> determine which version of the data item to use when reading it, and so
> that transaction commit can happen just by updating (in one step) the TSR.
> The transaction identifier, stored in the form of a URI, allows any client
> regardless of its location to inspect it the TSR in order to determine the
> transaction commitment state. Using the status of the TSR, any failure can
> be either rolled forward to the later version, or rolled back to the
> previous version. The test-andset capability on each item is used to
> determine a consistent winner when multiple transactions attempt concurrent
> activity on a conflicting set of items. A global order is put on the
> records, through a consistent hash of the record identifiers, and used when
> updating in order to prevent deadlocks. This approach is optimized to
> permit parallel processing of the commit activity."
>
> It seems to be a sort of log-structure/append/change tracking storage
> where multiple versions of the data to be updated are tracked as
> transactions are applied to them, and therefore can be rolled back.
>
> Probably all active versions are read and then reduced to the final
> product once all transactions are accounted for.
>
> Of course you can't have perpetual transaction changes stored so they must
> be ... compacted ... at some point?
>
>  which is basically what cassandra does at the node level in the
> read/write path with LSM, bloom filters, and merging data across disparate
> sstables...?
>
> The devil is in the details of these things of course. Is that about right?
>
> On Tue, Nov 13, 2018 at 9:54 AM Ariel Weisberg  wrote:
>
>> Hi,
>>
>> Fanastic news!
>>
>> Ariel
>>
>> On Tue, Nov 13, 2018, at 10:36 AM, Hiroyuki Yamada wrote:
>> > Hi all,
>> >
>> > I am happy to release it under Apache 2 license now.
>> > https://github.com/scalar-labs/scalardb
>> >
>> > It passes not only jepsen but also our-built destructive testing.
>> > For jepsen tests, please check the following.
>> > https://github.com/scalar-labs/scalardb/tree/master/jepsen/scalardb
>> >
>> > Also, as Yuji mentioned the other day, we also fixed/updated jepsen
>> > tests for C* to make it work with the latest C* version properly and
>> > follow the new style.
>> > https://github.com/scalar-labs/jepsen/tree/cassandra
>> >
>> > In addition to that, we fixed/updated cassaforte used in the jepsen
>> > tests for C* to make it work with the latest java driver since
>> > cassaforte is not really maintained any more.
>> > https://github.com/scalar-labs/cassaforte/tree/driver-3.0-for-jepsen
>> >
>> > We are pleased to be able to contribute to the community by the above
>> updates.
>> > Please give us any feedbacks or questions.
>> >
>> > Thanks,
>> > Hiro
>> >
>> >
>> > On Wed, Oct 17, 2018 at 8:52 AM Hiroyuki Yamada 
>> wrote:
>> > >
>> > > Hi all,
>> > >
>> > > Thank you for the comments and feedbacks.
>> > >
>> > > As Jonathan pointed out, it relies on LWT and uses the protocol
>> > > proposed in the paper.
>> > > Please read the design document for more detail.
>> > > https://github.com/scalar-labs/scalardb/blob/master/docs/design.md
>> > >
>> > > Regarding the licensing, we are thinking of releasing it with Apache 2
>> > > if lots of developers are interested in it.
>> > >
>> > > Best regards,
>> > > Hiroyuki
>> > > On Wed, Oct 17, 2018 at 3:13 AM Jonathan Ellis 
>> wrote:
>> > > >
>> > > > Which was followed up by
>> https://www.researchgate.net/profile/Akon_Dey/publication/282156834_Scalable_Distributed_Transactions_across_Heterogeneous_Stores/links/56058b9608ae5e8e3f32b98d.pdf
>> > > >
>> > > > On Tue, Oct 16, 2018 at 1:02 PM Jonathan Ellis 
>> wrote:
>> > > >>
>> > > >> It looks like it's based on this:
>> http://www.vldb.org/pvldb/vol6/p1434-dey.pdf
>> > > >>
>> > > >> On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg 
>> wrote:
>> > > >>>
>> > > >>> Hi,
>> > > >>>
>> > > >>> Yes this does sound great. Does this rely on Cassandra's internal
>> SERIAL consistency and CAS functionality or is that implemented at a higher
>> level?
>> > > >>>
>> > > >>> Regards,
>> > > >>> Ariel
>> > > >>>
>> > > >>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
>> > > >>> > This is great!
>> > > >>> >
>> > > >>> > --
>> > > >>> > Jeff Jirsa
>> > > >>> >
>> > > >>> >
>> > > >>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada <
>> mogwa...@gmail.com> 

Re: Released an ACID-compliant transaction library on top of Cassandra

2019-01-16 Thread Carl Mueller
"2) Overview: In essence, the protocol calls for each data item to maintain
the last committed and perhaps also the currently active version, for the
data and relevant metadata. Each version is tagged with meta-data
pertaining to the transaction that created it. This includes the
transaction commit time and transaction identifier that created it,
pointing to a globally visible transaction status record (TSR) using a
Universal Resource Identifier (URI). The TSR is used by the client to
determine which version of the data item to use when reading it, and so
that transaction commit can happen just by updating (in one step) the TSR.
The transaction identifier, stored in the form of a URI, allows any client
regardless of its location to inspect it the TSR in order to determine the
transaction commitment state. Using the status of the TSR, any failure can
be either rolled forward to the later version, or rolled back to the
previous version. The test-andset capability on each item is used to
determine a consistent winner when multiple transactions attempt concurrent
activity on a conflicting set of items. A global order is put on the
records, through a consistent hash of the record identifiers, and used when
updating in order to prevent deadlocks. This approach is optimized to
permit parallel processing of the commit activity."

It seems to be a sort of log-structure/append/change tracking storage where
multiple versions of the data to be updated are tracked as transactions are
applied to them, and therefore can be rolled back.

Probably all active versions are read and then reduced to the final product
once all transactions are accounted for.

Of course you can't have perpetual transaction changes stored so they must
be ... compacted ... at some point?

 which is basically what cassandra does at the node level in the
read/write path with LSM, bloom filters, and merging data across disparate
sstables...?

The devil is in the details of these things of course. Is that about right?

On Tue, Nov 13, 2018 at 9:54 AM Ariel Weisberg  wrote:

> Hi,
>
> Fanastic news!
>
> Ariel
>
> On Tue, Nov 13, 2018, at 10:36 AM, Hiroyuki Yamada wrote:
> > Hi all,
> >
> > I am happy to release it under Apache 2 license now.
> > https://github.com/scalar-labs/scalardb
> >
> > It passes not only jepsen but also our-built destructive testing.
> > For jepsen tests, please check the following.
> > https://github.com/scalar-labs/scalardb/tree/master/jepsen/scalardb
> >
> > Also, as Yuji mentioned the other day, we also fixed/updated jepsen
> > tests for C* to make it work with the latest C* version properly and
> > follow the new style.
> > https://github.com/scalar-labs/jepsen/tree/cassandra
> >
> > In addition to that, we fixed/updated cassaforte used in the jepsen
> > tests for C* to make it work with the latest java driver since
> > cassaforte is not really maintained any more.
> > https://github.com/scalar-labs/cassaforte/tree/driver-3.0-for-jepsen
> >
> > We are pleased to be able to contribute to the community by the above
> updates.
> > Please give us any feedbacks or questions.
> >
> > Thanks,
> > Hiro
> >
> >
> > On Wed, Oct 17, 2018 at 8:52 AM Hiroyuki Yamada 
> wrote:
> > >
> > > Hi all,
> > >
> > > Thank you for the comments and feedbacks.
> > >
> > > As Jonathan pointed out, it relies on LWT and uses the protocol
> > > proposed in the paper.
> > > Please read the design document for more detail.
> > > https://github.com/scalar-labs/scalardb/blob/master/docs/design.md
> > >
> > > Regarding the licensing, we are thinking of releasing it with Apache 2
> > > if lots of developers are interested in it.
> > >
> > > Best regards,
> > > Hiroyuki
> > > On Wed, Oct 17, 2018 at 3:13 AM Jonathan Ellis 
> wrote:
> > > >
> > > > Which was followed up by
> https://www.researchgate.net/profile/Akon_Dey/publication/282156834_Scalable_Distributed_Transactions_across_Heterogeneous_Stores/links/56058b9608ae5e8e3f32b98d.pdf
> > > >
> > > > On Tue, Oct 16, 2018 at 1:02 PM Jonathan Ellis 
> wrote:
> > > >>
> > > >> It looks like it's based on this:
> http://www.vldb.org/pvldb/vol6/p1434-dey.pdf
> > > >>
> > > >> On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg 
> wrote:
> > > >>>
> > > >>> Hi,
> > > >>>
> > > >>> Yes this does sound great. Does this rely on Cassandra's internal
> SERIAL consistency and CAS functionality or is that implemented at a higher
> level?
> > > >>>
> > > >>> Regards,
> > > >>> Ariel
> > > >>>
> > > >>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
> > > >>> > This is great!
> > > >>> >
> > > >>> > --
> > > >>> > Jeff Jirsa
> > > >>> >
> > > >>> >
> > > >>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada <
> mogwa...@gmail.com> wrote:
> > > >>> > >
> > > >>> > > Hi all,
> > > >>> > >
> > > >>> > > # Sorry, I accidentally emailed the following to dev@, so
> re-sending to here.
> > > >>> > >
> > > >>> > > We have been working on ACID-compliant transaction library on
> top of
> > > >>> > > Cassandra called Scalar DB,

Re: Released an ACID-compliant transaction library on top of Cassandra

2018-11-13 Thread Ariel Weisberg
Hi,

Fanastic news!

Ariel

On Tue, Nov 13, 2018, at 10:36 AM, Hiroyuki Yamada wrote:
> Hi all,
> 
> I am happy to release it under Apache 2 license now.
> https://github.com/scalar-labs/scalardb
> 
> It passes not only jepsen but also our-built destructive testing.
> For jepsen tests, please check the following.
> https://github.com/scalar-labs/scalardb/tree/master/jepsen/scalardb
> 
> Also, as Yuji mentioned the other day, we also fixed/updated jepsen
> tests for C* to make it work with the latest C* version properly and
> follow the new style.
> https://github.com/scalar-labs/jepsen/tree/cassandra
> 
> In addition to that, we fixed/updated cassaforte used in the jepsen
> tests for C* to make it work with the latest java driver since
> cassaforte is not really maintained any more.
> https://github.com/scalar-labs/cassaforte/tree/driver-3.0-for-jepsen
> 
> We are pleased to be able to contribute to the community by the above updates.
> Please give us any feedbacks or questions.
> 
> Thanks,
> Hiro
> 
> 
> On Wed, Oct 17, 2018 at 8:52 AM Hiroyuki Yamada  wrote:
> >
> > Hi all,
> >
> > Thank you for the comments and feedbacks.
> >
> > As Jonathan pointed out, it relies on LWT and uses the protocol
> > proposed in the paper.
> > Please read the design document for more detail.
> > https://github.com/scalar-labs/scalardb/blob/master/docs/design.md
> >
> > Regarding the licensing, we are thinking of releasing it with Apache 2
> > if lots of developers are interested in it.
> >
> > Best regards,
> > Hiroyuki
> > On Wed, Oct 17, 2018 at 3:13 AM Jonathan Ellis  wrote:
> > >
> > > Which was followed up by 
> > > https://www.researchgate.net/profile/Akon_Dey/publication/282156834_Scalable_Distributed_Transactions_across_Heterogeneous_Stores/links/56058b9608ae5e8e3f32b98d.pdf
> > >
> > > On Tue, Oct 16, 2018 at 1:02 PM Jonathan Ellis  wrote:
> > >>
> > >> It looks like it's based on this: 
> > >> http://www.vldb.org/pvldb/vol6/p1434-dey.pdf
> > >>
> > >> On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg  
> > >> wrote:
> > >>>
> > >>> Hi,
> > >>>
> > >>> Yes this does sound great. Does this rely on Cassandra's internal 
> > >>> SERIAL consistency and CAS functionality or is that implemented at a 
> > >>> higher level?
> > >>>
> > >>> Regards,
> > >>> Ariel
> > >>>
> > >>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
> > >>> > This is great!
> > >>> >
> > >>> > --
> > >>> > Jeff Jirsa
> > >>> >
> > >>> >
> > >>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada  
> > >>> > > wrote:
> > >>> > >
> > >>> > > Hi all,
> > >>> > >
> > >>> > > # Sorry, I accidentally emailed the following to dev@, so 
> > >>> > > re-sending to here.
> > >>> > >
> > >>> > > We have been working on ACID-compliant transaction library on top of
> > >>> > > Cassandra called Scalar DB,
> > >>> > > and are pleased to announce the release of v.1.0 RC version in open 
> > >>> > > source.
> > >>> > >
> > >>> > > https://github.com/scalar-labs/scalardb/
> > >>> > >
> > >>> > > Scalar DB is a library that provides a distributed storage 
> > >>> > > abstraction
> > >>> > > and client-coordinated distributed transaction on the storage,
> > >>> > > and makes non-ACID distributed database/storage ACID-compliant.
> > >>> > > And Cassandra is the first supported database implementation.
> > >>> > >
> > >>> > > It's been internally tested intensively and is jepsen-passed.
> > >>> > > (see jepsen directory for more detail)
> > >>> > > If you are looking for ACID transaction capability on top of 
> > >>> > > cassandra,
> > >>> > > Please take a look and give us a feedback or contribution.
> > >>> > >
> > >>> > > Best regards,
> > >>> > > Hiroyuki Yamada
> > >>> > >
> > >>> > > -
> > >>> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > >>> > > For additional commands, e-mail: user-h...@cassandra.apache.org
> > >>> > >
> > >>> >
> > >>> > -
> > >>> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > >>> > For additional commands, e-mail: user-h...@cassandra.apache.org
> > >>> >
> > >>>
> > >>> -
> > >>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > >>> For additional commands, e-mail: user-h...@cassandra.apache.org
> > >>>
> > >>
> > >>
> > >> --
> > >> Jonathan Ellis
> > >> co-founder, http://www.datastax.com
> > >> @spyced
> > >
> > >
> > >
> > > --
> > > Jonathan Ellis
> > > co-founder, http://www.datastax.com
> > > @spyced
> 
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
> 

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: 

Re: Released an ACID-compliant transaction library on top of Cassandra

2018-11-13 Thread Hiroyuki Yamada
Hi all,

I am happy to release it under Apache 2 license now.
https://github.com/scalar-labs/scalardb

It passes not only jepsen but also our-built destructive testing.
For jepsen tests, please check the following.
https://github.com/scalar-labs/scalardb/tree/master/jepsen/scalardb

Also, as Yuji mentioned the other day, we also fixed/updated jepsen
tests for C* to make it work with the latest C* version properly and
follow the new style.
https://github.com/scalar-labs/jepsen/tree/cassandra

In addition to that, we fixed/updated cassaforte used in the jepsen
tests for C* to make it work with the latest java driver since
cassaforte is not really maintained any more.
https://github.com/scalar-labs/cassaforte/tree/driver-3.0-for-jepsen

We are pleased to be able to contribute to the community by the above updates.
Please give us any feedbacks or questions.

Thanks,
Hiro


On Wed, Oct 17, 2018 at 8:52 AM Hiroyuki Yamada  wrote:
>
> Hi all,
>
> Thank you for the comments and feedbacks.
>
> As Jonathan pointed out, it relies on LWT and uses the protocol
> proposed in the paper.
> Please read the design document for more detail.
> https://github.com/scalar-labs/scalardb/blob/master/docs/design.md
>
> Regarding the licensing, we are thinking of releasing it with Apache 2
> if lots of developers are interested in it.
>
> Best regards,
> Hiroyuki
> On Wed, Oct 17, 2018 at 3:13 AM Jonathan Ellis  wrote:
> >
> > Which was followed up by 
> > https://www.researchgate.net/profile/Akon_Dey/publication/282156834_Scalable_Distributed_Transactions_across_Heterogeneous_Stores/links/56058b9608ae5e8e3f32b98d.pdf
> >
> > On Tue, Oct 16, 2018 at 1:02 PM Jonathan Ellis  wrote:
> >>
> >> It looks like it's based on this: 
> >> http://www.vldb.org/pvldb/vol6/p1434-dey.pdf
> >>
> >> On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg  wrote:
> >>>
> >>> Hi,
> >>>
> >>> Yes this does sound great. Does this rely on Cassandra's internal SERIAL 
> >>> consistency and CAS functionality or is that implemented at a higher 
> >>> level?
> >>>
> >>> Regards,
> >>> Ariel
> >>>
> >>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
> >>> > This is great!
> >>> >
> >>> > --
> >>> > Jeff Jirsa
> >>> >
> >>> >
> >>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada  
> >>> > > wrote:
> >>> > >
> >>> > > Hi all,
> >>> > >
> >>> > > # Sorry, I accidentally emailed the following to dev@, so re-sending 
> >>> > > to here.
> >>> > >
> >>> > > We have been working on ACID-compliant transaction library on top of
> >>> > > Cassandra called Scalar DB,
> >>> > > and are pleased to announce the release of v.1.0 RC version in open 
> >>> > > source.
> >>> > >
> >>> > > https://github.com/scalar-labs/scalardb/
> >>> > >
> >>> > > Scalar DB is a library that provides a distributed storage abstraction
> >>> > > and client-coordinated distributed transaction on the storage,
> >>> > > and makes non-ACID distributed database/storage ACID-compliant.
> >>> > > And Cassandra is the first supported database implementation.
> >>> > >
> >>> > > It's been internally tested intensively and is jepsen-passed.
> >>> > > (see jepsen directory for more detail)
> >>> > > If you are looking for ACID transaction capability on top of 
> >>> > > cassandra,
> >>> > > Please take a look and give us a feedback or contribution.
> >>> > >
> >>> > > Best regards,
> >>> > > Hiroyuki Yamada
> >>> > >
> >>> > > -
> >>> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> >>> > > For additional commands, e-mail: user-h...@cassandra.apache.org
> >>> > >
> >>> >
> >>> > -
> >>> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> >>> > For additional commands, e-mail: user-h...@cassandra.apache.org
> >>> >
> >>>
> >>> -
> >>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> >>> For additional commands, e-mail: user-h...@cassandra.apache.org
> >>>
> >>
> >>
> >> --
> >> Jonathan Ellis
> >> co-founder, http://www.datastax.com
> >> @spyced
> >
> >
> >
> > --
> > Jonathan Ellis
> > co-founder, http://www.datastax.com
> > @spyced

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread Hiroyuki Yamada
Hi all,

Thank you for the comments and feedbacks.

As Jonathan pointed out, it relies on LWT and uses the protocol
proposed in the paper.
Please read the design document for more detail.
https://github.com/scalar-labs/scalardb/blob/master/docs/design.md

Regarding the licensing, we are thinking of releasing it with Apache 2
if lots of developers are interested in it.

Best regards,
Hiroyuki
On Wed, Oct 17, 2018 at 3:13 AM Jonathan Ellis  wrote:
>
> Which was followed up by 
> https://www.researchgate.net/profile/Akon_Dey/publication/282156834_Scalable_Distributed_Transactions_across_Heterogeneous_Stores/links/56058b9608ae5e8e3f32b98d.pdf
>
> On Tue, Oct 16, 2018 at 1:02 PM Jonathan Ellis  wrote:
>>
>> It looks like it's based on this: 
>> http://www.vldb.org/pvldb/vol6/p1434-dey.pdf
>>
>> On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg  wrote:
>>>
>>> Hi,
>>>
>>> Yes this does sound great. Does this rely on Cassandra's internal SERIAL 
>>> consistency and CAS functionality or is that implemented at a higher level?
>>>
>>> Regards,
>>> Ariel
>>>
>>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
>>> > This is great!
>>> >
>>> > --
>>> > Jeff Jirsa
>>> >
>>> >
>>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada  wrote:
>>> > >
>>> > > Hi all,
>>> > >
>>> > > # Sorry, I accidentally emailed the following to dev@, so re-sending to 
>>> > > here.
>>> > >
>>> > > We have been working on ACID-compliant transaction library on top of
>>> > > Cassandra called Scalar DB,
>>> > > and are pleased to announce the release of v.1.0 RC version in open 
>>> > > source.
>>> > >
>>> > > https://github.com/scalar-labs/scalardb/
>>> > >
>>> > > Scalar DB is a library that provides a distributed storage abstraction
>>> > > and client-coordinated distributed transaction on the storage,
>>> > > and makes non-ACID distributed database/storage ACID-compliant.
>>> > > And Cassandra is the first supported database implementation.
>>> > >
>>> > > It's been internally tested intensively and is jepsen-passed.
>>> > > (see jepsen directory for more detail)
>>> > > If you are looking for ACID transaction capability on top of cassandra,
>>> > > Please take a look and give us a feedback or contribution.
>>> > >
>>> > > Best regards,
>>> > > Hiroyuki Yamada
>>> > >
>>> > > -
>>> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> > > For additional commands, e-mail: user-h...@cassandra.apache.org
>>> > >
>>> >
>>> > -
>>> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> > For additional commands, e-mail: user-h...@cassandra.apache.org
>>> >
>>>
>>> -
>>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> For additional commands, e-mail: user-h...@cassandra.apache.org
>>>
>>
>>
>> --
>> Jonathan Ellis
>> co-founder, http://www.datastax.com
>> @spyced
>
>
>
> --
> Jonathan Ellis
> co-founder, http://www.datastax.com
> @spyced

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread Jonathan Ellis
Which was followed up by
https://www.researchgate.net/profile/Akon_Dey/publication/282156834_Scalable_Distributed_Transactions_across_Heterogeneous_Stores/links/56058b9608ae5e8e3f32b98d.pdf

On Tue, Oct 16, 2018 at 1:02 PM Jonathan Ellis  wrote:

> It looks like it's based on this:
> http://www.vldb.org/pvldb/vol6/p1434-dey.pdf
>
> On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg  wrote:
>
>> Hi,
>>
>> Yes this does sound great. Does this rely on Cassandra's internal SERIAL
>> consistency and CAS functionality or is that implemented at a higher level?
>>
>> Regards,
>> Ariel
>>
>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
>> > This is great!
>> >
>> > --
>> > Jeff Jirsa
>> >
>> >
>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada 
>> wrote:
>> > >
>> > > Hi all,
>> > >
>> > > # Sorry, I accidentally emailed the following to dev@, so re-sending
>> to here.
>> > >
>> > > We have been working on ACID-compliant transaction library on top of
>> > > Cassandra called Scalar DB,
>> > > and are pleased to announce the release of v.1.0 RC version in open
>> source.
>> > >
>> > > https://github.com/scalar-labs/scalardb/
>> > >
>> > > Scalar DB is a library that provides a distributed storage abstraction
>> > > and client-coordinated distributed transaction on the storage,
>> > > and makes non-ACID distributed database/storage ACID-compliant.
>> > > And Cassandra is the first supported database implementation.
>> > >
>> > > It's been internally tested intensively and is jepsen-passed.
>> > > (see jepsen directory for more detail)
>> > > If you are looking for ACID transaction capability on top of
>> cassandra,
>> > > Please take a look and give us a feedback or contribution.
>> > >
>> > > Best regards,
>> > > Hiroyuki Yamada
>> > >
>> > > -
>> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>> > > For additional commands, e-mail: user-h...@cassandra.apache.org
>> > >
>> >
>> > -
>> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>> > For additional commands, e-mail: user-h...@cassandra.apache.org
>> >
>>
>> -
>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>> For additional commands, e-mail: user-h...@cassandra.apache.org
>>
>>
>
> --
> Jonathan Ellis
> co-founder, http://www.datastax.com
> @spyced
>


-- 
Jonathan Ellis
co-founder, http://www.datastax.com
@spyced


Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread Jonathan Ellis
It looks like it's based on this:
http://www.vldb.org/pvldb/vol6/p1434-dey.pdf

On Tue, Oct 16, 2018 at 11:37 AM Ariel Weisberg  wrote:

> Hi,
>
> Yes this does sound great. Does this rely on Cassandra's internal SERIAL
> consistency and CAS functionality or is that implemented at a higher level?
>
> Regards,
> Ariel
>
> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
> > This is great!
> >
> > --
> > Jeff Jirsa
> >
> >
> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada 
> wrote:
> > >
> > > Hi all,
> > >
> > > # Sorry, I accidentally emailed the following to dev@, so re-sending
> to here.
> > >
> > > We have been working on ACID-compliant transaction library on top of
> > > Cassandra called Scalar DB,
> > > and are pleased to announce the release of v.1.0 RC version in open
> source.
> > >
> > > https://github.com/scalar-labs/scalardb/
> > >
> > > Scalar DB is a library that provides a distributed storage abstraction
> > > and client-coordinated distributed transaction on the storage,
> > > and makes non-ACID distributed database/storage ACID-compliant.
> > > And Cassandra is the first supported database implementation.
> > >
> > > It's been internally tested intensively and is jepsen-passed.
> > > (see jepsen directory for more detail)
> > > If you are looking for ACID transaction capability on top of cassandra,
> > > Please take a look and give us a feedback or contribution.
> > >
> > > Best regards,
> > > Hiroyuki Yamada
> > >
> > > -
> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > > For additional commands, e-mail: user-h...@cassandra.apache.org
> > >
> >
> > -
> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > For additional commands, e-mail: user-h...@cassandra.apache.org
> >
>
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
>
>

-- 
Jonathan Ellis
co-founder, http://www.datastax.com
@spyced


Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread DuyHai Doan
I think it does use LWT under the hood:

https://github.com/scalar-labs/scalardb/blob/master/src/main/java/com/scalar/database/transaction/consensuscommit/CommitMutationComposer.java#L74-L79

return new Put(base.getPartitionKey(), getClusteringKey(base,
result).orElse(null))
.forNamespace(base.forNamespace().get())
.forTable(base.forTable().get())
.withConsistency(Consistency.LINEARIZABLE)
.withCondition(
new PutIf(
new ConditionalExpression(ID, toIdValue(id), Operator.EQ),
new ConditionalExpression(
STATE, toStateValue(TransactionState.PREPARED),
Operator.EQ)))
.withValue(Attribute.toCommittedAtValue(current))
.withValue(Attribute.toStateValue(TransactionState.COMMITTED));



On Tue, Oct 16, 2018 at 6:40 PM sankalp kohli 
wrote:

> What License did you use? Can we please use Apache 2.0?
>
> On Tue, Oct 16, 2018 at 9:39 AM sankalp kohli 
> wrote:
>
>> This is awesome and thanks for working on it.
>>
>> On Tue, Oct 16, 2018 at 9:37 AM Ariel Weisberg  wrote:
>>
>>> Hi,
>>>
>>> Yes this does sound great. Does this rely on Cassandra's internal SERIAL
>>> consistency and CAS functionality or is that implemented at a higher level?
>>>
>>> Regards,
>>> Ariel
>>>
>>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
>>> > This is great!
>>> >
>>> > --
>>> > Jeff Jirsa
>>> >
>>> >
>>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada 
>>> wrote:
>>> > >
>>> > > Hi all,
>>> > >
>>> > > # Sorry, I accidentally emailed the following to dev@, so
>>> re-sending to here.
>>> > >
>>> > > We have been working on ACID-compliant transaction library on top of
>>> > > Cassandra called Scalar DB,
>>> > > and are pleased to announce the release of v.1.0 RC version in open
>>> source.
>>> > >
>>> > > https://github.com/scalar-labs/scalardb/
>>> > >
>>> > > Scalar DB is a library that provides a distributed storage
>>> abstraction
>>> > > and client-coordinated distributed transaction on the storage,
>>> > > and makes non-ACID distributed database/storage ACID-compliant.
>>> > > And Cassandra is the first supported database implementation.
>>> > >
>>> > > It's been internally tested intensively and is jepsen-passed.
>>> > > (see jepsen directory for more detail)
>>> > > If you are looking for ACID transaction capability on top of
>>> cassandra,
>>> > > Please take a look and give us a feedback or contribution.
>>> > >
>>> > > Best regards,
>>> > > Hiroyuki Yamada
>>> > >
>>> > > -
>>> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> > > For additional commands, e-mail: user-h...@cassandra.apache.org
>>> > >
>>> >
>>> > -
>>> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> > For additional commands, e-mail: user-h...@cassandra.apache.org
>>> >
>>>
>>> -
>>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> For additional commands, e-mail: user-h...@cassandra.apache.org
>>>
>>>


Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread sankalp kohli
What License did you use? Can we please use Apache 2.0?

On Tue, Oct 16, 2018 at 9:39 AM sankalp kohli 
wrote:

> This is awesome and thanks for working on it.
>
> On Tue, Oct 16, 2018 at 9:37 AM Ariel Weisberg  wrote:
>
>> Hi,
>>
>> Yes this does sound great. Does this rely on Cassandra's internal SERIAL
>> consistency and CAS functionality or is that implemented at a higher level?
>>
>> Regards,
>> Ariel
>>
>> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
>> > This is great!
>> >
>> > --
>> > Jeff Jirsa
>> >
>> >
>> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada 
>> wrote:
>> > >
>> > > Hi all,
>> > >
>> > > # Sorry, I accidentally emailed the following to dev@, so re-sending
>> to here.
>> > >
>> > > We have been working on ACID-compliant transaction library on top of
>> > > Cassandra called Scalar DB,
>> > > and are pleased to announce the release of v.1.0 RC version in open
>> source.
>> > >
>> > > https://github.com/scalar-labs/scalardb/
>> > >
>> > > Scalar DB is a library that provides a distributed storage abstraction
>> > > and client-coordinated distributed transaction on the storage,
>> > > and makes non-ACID distributed database/storage ACID-compliant.
>> > > And Cassandra is the first supported database implementation.
>> > >
>> > > It's been internally tested intensively and is jepsen-passed.
>> > > (see jepsen directory for more detail)
>> > > If you are looking for ACID transaction capability on top of
>> cassandra,
>> > > Please take a look and give us a feedback or contribution.
>> > >
>> > > Best regards,
>> > > Hiroyuki Yamada
>> > >
>> > > -
>> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>> > > For additional commands, e-mail: user-h...@cassandra.apache.org
>> > >
>> >
>> > -
>> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>> > For additional commands, e-mail: user-h...@cassandra.apache.org
>> >
>>
>> -
>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>> For additional commands, e-mail: user-h...@cassandra.apache.org
>>
>>


Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread sankalp kohli
This is awesome and thanks for working on it.

On Tue, Oct 16, 2018 at 9:37 AM Ariel Weisberg  wrote:

> Hi,
>
> Yes this does sound great. Does this rely on Cassandra's internal SERIAL
> consistency and CAS functionality or is that implemented at a higher level?
>
> Regards,
> Ariel
>
> On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
> > This is great!
> >
> > --
> > Jeff Jirsa
> >
> >
> > > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada 
> wrote:
> > >
> > > Hi all,
> > >
> > > # Sorry, I accidentally emailed the following to dev@, so re-sending
> to here.
> > >
> > > We have been working on ACID-compliant transaction library on top of
> > > Cassandra called Scalar DB,
> > > and are pleased to announce the release of v.1.0 RC version in open
> source.
> > >
> > > https://github.com/scalar-labs/scalardb/
> > >
> > > Scalar DB is a library that provides a distributed storage abstraction
> > > and client-coordinated distributed transaction on the storage,
> > > and makes non-ACID distributed database/storage ACID-compliant.
> > > And Cassandra is the first supported database implementation.
> > >
> > > It's been internally tested intensively and is jepsen-passed.
> > > (see jepsen directory for more detail)
> > > If you are looking for ACID transaction capability on top of cassandra,
> > > Please take a look and give us a feedback or contribution.
> > >
> > > Best regards,
> > > Hiroyuki Yamada
> > >
> > > -
> > > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > > For additional commands, e-mail: user-h...@cassandra.apache.org
> > >
> >
> > -
> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > For additional commands, e-mail: user-h...@cassandra.apache.org
> >
>
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
>
>


Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread Ariel Weisberg
Hi,

Yes this does sound great. Does this rely on Cassandra's internal SERIAL 
consistency and CAS functionality or is that implemented at a higher level? 

Regards,
Ariel

On Tue, Oct 16, 2018, at 12:31 PM, Jeff Jirsa wrote:
> This is great!
> 
> -- 
> Jeff Jirsa
> 
> 
> > On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada  wrote:
> > 
> > Hi all,
> > 
> > # Sorry, I accidentally emailed the following to dev@, so re-sending to 
> > here.
> > 
> > We have been working on ACID-compliant transaction library on top of
> > Cassandra called Scalar DB,
> > and are pleased to announce the release of v.1.0 RC version in open source.
> > 
> > https://github.com/scalar-labs/scalardb/
> > 
> > Scalar DB is a library that provides a distributed storage abstraction
> > and client-coordinated distributed transaction on the storage,
> > and makes non-ACID distributed database/storage ACID-compliant.
> > And Cassandra is the first supported database implementation.
> > 
> > It's been internally tested intensively and is jepsen-passed.
> > (see jepsen directory for more detail)
> > If you are looking for ACID transaction capability on top of cassandra,
> > Please take a look and give us a feedback or contribution.
> > 
> > Best regards,
> > Hiroyuki Yamada
> > 
> > -
> > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> > For additional commands, e-mail: user-h...@cassandra.apache.org
> > 
> 
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
> 

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Re: Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread Jeff Jirsa
This is great!

-- 
Jeff Jirsa


> On Oct 16, 2018, at 5:47 PM, Hiroyuki Yamada  wrote:
> 
> Hi all,
> 
> # Sorry, I accidentally emailed the following to dev@, so re-sending to here.
> 
> We have been working on ACID-compliant transaction library on top of
> Cassandra called Scalar DB,
> and are pleased to announce the release of v.1.0 RC version in open source.
> 
> https://github.com/scalar-labs/scalardb/
> 
> Scalar DB is a library that provides a distributed storage abstraction
> and client-coordinated distributed transaction on the storage,
> and makes non-ACID distributed database/storage ACID-compliant.
> And Cassandra is the first supported database implementation.
> 
> It's been internally tested intensively and is jepsen-passed.
> (see jepsen directory for more detail)
> If you are looking for ACID transaction capability on top of cassandra,
> Please take a look and give us a feedback or contribution.
> 
> Best regards,
> Hiroyuki Yamada
> 
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
> 

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Released an ACID-compliant transaction library on top of Cassandra

2018-10-16 Thread Hiroyuki Yamada
Hi all,

# Sorry, I accidentally emailed the following to dev@, so re-sending to here.

We have been working on ACID-compliant transaction library on top of
Cassandra called Scalar DB,
and are pleased to announce the release of v.1.0 RC version in open source.

https://github.com/scalar-labs/scalardb/

Scalar DB is a library that provides a distributed storage abstraction
and client-coordinated distributed transaction on the storage,
and makes non-ACID distributed database/storage ACID-compliant.
And Cassandra is the first supported database implementation.

It's been internally tested intensively and is jepsen-passed.
(see jepsen directory for more detail)
If you are looking for ACID transaction capability on top of cassandra,
Please take a look and give us a feedback or contribution.

Best regards,
Hiroyuki Yamada

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org