Hacker News new | ask | show | jobs
by socmag 3321 days ago
Clocks are meaningless under load.

The higher frequency the transactions the more you get into quantum physics.

In reality, nobody cares if T-Mobile debited your account 0.01ms before WalMart.

[edit] what is important is isolation and consistency of the transactons.

3 comments

We detached this subthread from https://news.ycombinator.com/item?id=14308521 and marked it off-topic.
Actually, WalMNart cares and so does T-mobile. You probably care too if you stop and think for a bit...

The concern here isn't just order of transactions, but also synchronization. For instance, WalMart might charge you twice for a transaction if it appears to have happened at different times when it arrives in different data centers.

Also, the comment "The higher frequency the transactions the more you get into quantum physics." isn't relevant here. This is more in the realm of relativity than quantum physics. Even so, we aren't currently at a point where we need to worry about transactions happening at relativistic speeds.

No I disagree since you left out atomicity from your argument.

WalMart cannot commit if someone else committed previously, they have to try again.

Atomicity is precisely what it is. There is no fuzziness there, you either do it or you don't.

The problem with current database designs is the idea of BeginTransaction, that function is the core of the problem.

"Transactions" in the real world are NOT completed until everyone agrees.

Consider you yourself enter into a transaction with your landlord, you BeginTransaction..

However during the negotiation you choose to disagree and back away from the deal.

That transaction, even though it took three months to decide was rejected (by either party).

The only "transaction" is the committed transaction.

Ah, I think I see where you are confused -- your arguments seem to make more sense when dealing with a single, local database. The idea here is that you want to achieve atomicity, but you need to do it across multiple distributed databases and you want to have a system who's components have exactly the same time in order to ensure consistence across each database.

Attempting to extend the landlord example... let's say that I'm your landlord and you have to pay me £1000 each month. You send the bank a message telling the to pay me the money. The bank may make several copies of that message and keep it around for their own reasons. Now, let's say that there are employees at that bank whose job it is to do go through all copies of all messages and make sure what they say is done. If they find a message from several months ago saying "transfer £1000 from you to me this month" and are somehow oblivious to which month it is, they may transfer an additional one thousand pounds even if it's already happened. It's not an exact analogy, but...

Instead of just downvoting, how about refuting my claim?

I'm seriously curious what is the disagreement. These guys already established atomic clocks are unnecessary. Very interested in which use cases require them.

Read and learn: https://research.google.com/archive/spanner.html

Serializability is all about ensuring a single consistent ordering of events. Lots of algorithmic shortcuts you can take if all your nodes' clocks are precisely in sync.

I'm very familiar with the literature since I'm a distributed database developer.

If you investigate high frequency trading you will understand that the quantum phenomena that I'm talking about is not just me high on mushrooms but a real world thing.

The only "time" relevant is the time when the cluster agrees an atomic, isolated transaction is time to commit from its own perspective.

Am I wrong in remembering that the HN guidelines used to say that you should not downvote someone's comment simply because you disagreed with it?

I went looking, and I don't see that in the current guidelines. I could be wrong about it being there before, but I was almost certain that it was at one point.

Seems like it used to say that you should only downvote comments that you think don't contribute anything of value to the conversation.

Just curious, because it seems to me that for quite a while now there have been a lot of comments that appear to get downvoted just because people don't agree with what the person said (and often there are no responses to counter, the person just gets downvoted).

I don't have a full history of the guidelines, but the canonical link on this tends to be [0]. About nine years ago, PG thought downvote to disagree was perfectly reasonable. I don't think there's been any official change since then.

[0] - https://news.ycombinator.com/item?id=117171

I think you're thinking of somewhere else. The up/down votes are a way of agreeing or disagreeing without cluttering up the comments with a bunch of "me toos" or "nuhuhhs"
I'm certain that I'm not thinking of somewhere else. I'm completely open to the possibility that I just remember it wrong, but I'm sure that it was HN that I was thinking of, and not another site.
There's never been such a policy on HN; you remembered it wrong, as have many before you. It's the same phenomenon as attributes pithy quotes to Einstein and makes Canadians think we have Miranda rights: people hang memories on the nearest pre-existing hook in the brain.

Probably the most that I've written about downvotes on HN is at https://news.ycombinator.com/item?id=9440694.

Nope. I've never spend much time on reddit, and I'm certain I've never seen that page before. Perhaps I am thinking of comments other people made on HN in the past (who thought that the policy was as I described).
You're thinking of Reddit.
Nope, I know I'm not thinking of Reddit (as I said in reply to another comment, I've spent almost no time on Reddit, and would not have seen their guidelines at all).
Reddit, we did it again.
While it's not in the guidelines, 'pg is on record years ago saying that downvoting for disagreement is okay, given that people upvote for agreement:

https://news.ycombinator.com/item?id=117171

That said, I think many on HN do think that downvotes should be reserved for uncivil or unsubstantive comments as they don't contribute to the conversation. Some will still downvote for disagreement or for other reasons.

I think it's best not to let it bother you or worry about it because there's not much you can do about it, other than contribute as civilly, substantively, charitably, and in good faith.

me too.