Live data from Hacker News

Clarification on “Call Me Maybe: MariaDB Galera Cluster”

percona.com

61–70 of 73 posts

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#61
post #60

Earlier quoted context omitted.

Corruption is read by the database people as: "Your data is unreadable"; Inconsistency as: "Your data is wrong". The article implies that inconsistent is better than corrupt, and that mixing up the terms paints a worse picture. The assumption is flawed. Inconsistent is as bad or worse than corrupted. It is a silent failure, and silent failures are worse than visible ones.

i'm kinda surprised by the prevalence of that attitude. in theory, yes, you are right. but that's really a bit of programmer purism. in practice, a DB that stops working can mean a sudden stop in doing business, which is a huge catastrophe. money lost every second. inconsistency is horrible, and theoretically the same thing, you are right! but it's something you might be able to fix, without the whole system failing,…

It's really case-specific. But it's not hard to see where an error page "SQL Connection Failed" is better than not recording user's orders, mis-crediting their account, etc. At least with a hard error it's obvious there's a problem and it must be fixed immediately. With inconsistencies, you might e.g. end up with customers expecting travel reservations only to show up and find this to not be the case.

By the time the accountant finds the error, the business could be irreparably harmed.

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#62
post #60

Earlier quoted context omitted.

Corruption is read by the database people as: "Your data is unreadable"; Inconsistency as: "Your data is wrong". The article implies that inconsistent is better than corrupt, and that mixing up the terms paints a worse picture. The assumption is flawed. Inconsistent is as bad or worse than corrupted. It is a silent failure, and silent failures are worse than visible ones.

i'm kinda surprised by the prevalence of that attitude. in theory, yes, you are right. but that's really a bit of programmer purism. in practice, a DB that stops working can mean a sudden stop in doing business, which is a huge catastrophe. money lost every second. inconsistency is horrible, and theoretically the same thing, you are right! but it's something you might be able to fix, without the whole system failing,…

An account database that makes new money out of thin air is a huge catastrophe!

I honestly don't understand how this is even a live issue for debate. The "inconsistency" we're talking about is terrifying.

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#63
post #36

Earlier quoted context omitted.

Disclaimer: I work for Percona. The docs are on the galeracluster.com page, which is owned and maintained by another company, so there's no way we could fix those. A staff member from this company (And one of the Galera authors) replied on the original 'Call me maybe' post indicating they would fix the docs, though. I think the 'corruption vs inconsistency' debate could seem as nitpicking, but anybody who has been wo…

So where are the definitions of those terms, actually? The article merely complains that Tkachenko's personal definitions of those two terms do not match Aphyr's, but that's merely a personal opinion. I'd argue that "corrupted" is usually used in cases when the data get messed up due to external circumstances (say, disk error corrupting a page of data) or because of a clear bug (say, writing to incorrect place), whil…

I don't know if there is some official definition, but my experience talking to others working with databases daily tells me they have the same concepts as I do, and a 5 second google search on "data corruption" followed by "data consistency" yield wikipedia articles in the top 3 results for both queries, showing concepts that, also, match those that I have.

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#64

Below are the tweets by Aphyr for the same thing (with language slightly toned down). I never thought I won't find their mention here on HN. :) Nevertheless, precise, to the point: Buncha people giving me for calling data written through an invariant violation "corrupted state", like somehow it's not garbage. If TCP checksums don't work right we don't call the packet "inconsistent." We call it corrupt. If a disk shuf…

https://twitter.com/aphyr/status/644828700366647296

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#65
post #36

Earlier quoted context omitted.

Disclaimer: I work for Percona. The docs are on the galeracluster.com page, which is owned and maintained by another company, so there's no way we could fix those. A staff member from this company (And one of the Galera authors) replied on the original 'Call me maybe' post indicating they would fix the docs, though. I think the 'corruption vs inconsistency' debate could seem as nitpicking, but anybody who has been wo…

Corruption is read by the database people as: "Your data is unreadable"; Inconsistency as: "Your data is wrong". The article implies that inconsistent is better than corrupt, and that mixing up the terms paints a worse picture. The assumption is flawed. Inconsistent is as bad or worse than corrupted. It is a silent failure, and silent failures are worse than visible ones.

What database people?

Maybe those dealing with low value, fluff data in their attempt to be the next social media breakout, but for those of us who work with data containing anything with real business value, inconsistent == corrupt. No other definition is sufficient.

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#66
post #63

Earlier quoted context omitted.

So where are the definitions of those terms, actually? The article merely complains that Tkachenko's personal definitions of those two terms do not match Aphyr's, but that's merely a personal opinion. I'd argue that "corrupted" is usually used in cases when the data get messed up due to external circumstances (say, disk error corrupting a page of data) or because of a clear bug (say, writing to incorrect place), whil…

I don't know if there is some official definition, but my experience talking to others working with databases daily tells me they have the same concepts as I do, and a 5 second google search on "data corruption" followed by "data consistency" yield wikipedia articles in the top 3 results for both queries, showing concepts that, also, match those that I have.

If I sat down at one of our database consoles and fired off a few queries and saw that hundreds of thousands of dollars had appeared out of nowhere, I'd tell my boss that the database was corrupt.

However, for the purposes of Aphyr's original article, it's a moot point specifically because Aphyr replaced the symbol with the substance[0]. He specifically states the conclusion, and in detail explains why it happened and what the ramifications are. Any quibbling about the word corruption is a distraction, because the underlying fault of the system is still present. The system claims to support snapshot isolation, but does not, and the result of that fact is that data will not be correct for users expecting snapshot isolation.

[0] - http://lesswrong.com/lw/nv/replace_the_symbol_with_the_subst...

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#67
post #65

Earlier quoted context omitted.

Corruption is read by the database people as: "Your data is unreadable"; Inconsistency as: "Your data is wrong". The article implies that inconsistent is better than corrupt, and that mixing up the terms paints a worse picture. The assumption is flawed. Inconsistent is as bad or worse than corrupted. It is a silent failure, and silent failures are worse than visible ones.

What database people? Maybe those dealing with low value, fluff data in their attempt to be the next social media breakout, but for those of us who work with data containing anything with real business value, inconsistent == corrupt. No other definition is sufficient.

Did you actually read my comment all the way through?

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#68
post #62
post #60

Earlier quoted context omitted.

i'm kinda surprised by the prevalence of that attitude. in theory, yes, you are right. but that's really a bit of programmer purism. in practice, a DB that stops working can mean a sudden stop in doing business, which is a huge catastrophe. money lost every second. inconsistency is horrible, and theoretically the same thing, you are right! but it's something you might be able to fix, without the whole system failing,…

An account database that makes new money out of thin air is a huge catastrophe! I honestly don't understand how this is even a live issue for debate. The "inconsistency" we're talking about is terrifying.

they are both a catastrophe, i never implied that inconsistency is not one. i'm merely involved in semantic bickering here :) both are bad in their own way, but which is worse will depend on the case. bear in mind that programmers make mistakes all the time. they can also cause such effects. which is why we often do things in a way where incorrect data can be corrected later. particularly in anything related to accounting, where the practice has existed for centuries. i'm really not interested in claiming that one catastrophe is better than the other, but a data corruption in a database can sometimes be more problematic.

edit - sorry, i just noticed i actually did say, in another thread here, that corruption is worse. i would like to take that back now :D

Re: Clarification on “Call Me Maybe: MariaDB Galera Cluster”

#69
post #40

Earlier quoted context omitted.

I think the Percona writer is focusing on "corruption" in terms of how I think most database folks imagine "corruption" - where a series of commands will erase a block of data, or make a block of data unrecoverable. I agree that "inconsistent" is probably more mechanically accurate, but since in this case the side effect of the inconsistency is that you can't trust the contents of a block of data, it seems like a dif…

Yup, inconsistency is a kind of data corruption, provided you expect it to be in a consistent state. The emotional value of the latter is much stronger, though, and it sounds worse to the uninitiated, which is probably why Percona folks are trying to spin it that way.

you can replace the word "inconsistent" with "incorrect", and many uninitiated people will shit their pants on that too :)
Post reply on HN