News for hackers. Stuff that matters.
Re:The Limits of the CAP Theorem by zimbatm on Tuesday June 27, 2017 @02:17PM (#14647808)
I have a new definition:

* CP is a database

* AP is a cache

Anyone else pretending AP is a database is lying (unless it's a content-addressable store) :p

Re:The Limits of the CAP Theorem by jedberg on Tuesday June 27, 2017 @02:46PM (#14648095)
Casandra and Riak are AP, and both can certainly be used as sources of truth. You just have to move the "C" part up into your app, which may actually be a better place for it, since what is "consistent" can be dependent on the data and application of that data.
Re:The Limits of the CAP Theorem by irfansharif on Tuesday June 27, 2017 @03:16PM (#14648388)
Here is what Google has to say about 'moving the "C" part up into your application':

“We also have a lot of experience with eventual consistency systems at Google. In all such systems, we find developers spend a significant fraction of their time building extremely complex and error-prone mechanisms to cope with eventual consistency and handle data that may be out of date. We think this is an unacceptable burden to place on developers and that consistency problems should be solved at the database level.”[1]

[1]: https://yokota.blog/2017/02/17/dont-settle-for-eventual-cons...

Re:The Limits of the CAP Theorem by hodgesrm on Tuesday June 27, 2017 @03:35PM (#14648597)
There's a quote from _Transaction Processing_ by Gray and Reuter about ACID transactions that is quite relevant to eventual consistency:

"Without transactions, distributed systems cannot be made to work for typical real-life applications."

This is as true now as it was 25 years ago, for exactly the reasons cited by Google. The book is incidentally still a good read.

Re:The Limits of the CAP Theorem by zeckalpha on Tuesday June 27, 2017 @08:37PM (#14650840)
Transactions are related to atomicity, not consistency. There are atomic AP systems with transactions but without consistency.
Re:The Limits of the CAP Theorem by zimbatm on Tuesday June 27, 2017 @04:10PM (#14648928)
Just :) Dealing with merge conflicts is not trivial. So far I know of three different strategies:

Automatic with CRDTs, but there is a price to pay in storage and available data-structures to play with.

Manual, like Git.

Denial, aka. Last Write Wins. With is probably good enough for a cache but has been used in other context.

Re:The Limits of the CAP Theorem by urethrafranklin on Tuesday June 27, 2017 @05:50PM (#14649832)
Riak is configurable. It can be used as CP.
Re:The Limits of the CAP Theorem by d_t_w on Wednesday June 28, 2017 @12:29AM (#14651683)
I have a system which computes over an immutable time series and stores the results in Cassandra, which I treat as the source of truth. I think it's fair to call it a DB.
Re:The Limits of the CAP Theorem by zimbatm on Wednesday June 28, 2017 @04:14AM (#14652499)
What is the merge strategy after a partition?

The initial comment was mainly intended as a joke since a lot of AP systems use the last-write-wins strategy.

Re:The Limits of the CAP Theorem by d_t_w on Wednesday June 28, 2017 @08:38PM (#14659827)
Cassandra has a range of anti-entropy repair processes that run periodically, that's broadly speaking enough in my case.

I don't require last-write-wins. It's an immutable time series with no updates, no deletes.