Gentoo Archives: gentoo-user

From: Rich Freeman <rich0@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] PostgreSQL Vs MySQL @Uber
Date: Mon, 01 Aug 2016 18:03:15
Message-Id: CAGfcS_n6=y1E0t6ciBvUKGsFiDx9KaLhaSTrmQwoEXot_JeqeA@mail.gmail.com
In Reply to: Re: [gentoo-user] PostgreSQL Vs MySQL @Uber by "J. Roeleveld"
1 On Mon, Aug 1, 2016 at 12:49 PM, J. Roeleveld <joost@××××××××.org> wrote:
2 > On Monday, August 01, 2016 08:43:49 AM james wrote:
3 >
4 >> Sure this part is only related to
5 >> transaction processing as there was much more to the "five 9s" legacy,
6 >> but imho, that is the heart of what was the precursor to ACID property's
7 >> now so greatly espoused in SQL codes that Douglas refers to.
8 >>
9 >> Do folks concur or disagree at this point?
10 >
11 > ACID is about data integrity. The "best 2 out of 3" voting was, in my opinion,
12 > a work-around for unreliable hardware. It is based on a clever idea, but when
13 > 2 computers having the same data and logic come up with 2 different answers, I
14 > wouldn't trust either of them.
15
16 I agree, this was a solution for hardware issues. However, hardware
17 issues can STILL happen today, so there is an argument for it. There
18 are really two ways to get to robustness: clever hardware, and clever
19 software. The old way was to do it in hardware, the newer way is to
20 do it in software (see Google with their racks of cheap motherboards).
21 I suspect software will always be the better way, but you can't just
22 write a check to get better software the way you can with hardware.
23 Doing it right with software means hiring really good people, which is
24 something a LOT of companies don't want to do (well, they think
25 they're doing it, but they're not).
26
27 Basically I believe the concept with the mainframe was that you could
28 probably open the thing up, break one random board with a hammer, and
29 the application would still keep running just fine. IBM would then
30 magically show up the next day and replace the board without anybody
31 doing anything. All the hardware had redundancy, so you can run your
32 application for a decade or two without fear of a hardware failure.
33
34 However, you pay a small fortune for all of this. The other trend as
35 I understand it in mainframes is renting your own hardware to you.
36 That is, you buy a box, and you can just pay to turn on extra
37 CPUs/etc. You can imagine what the margins are like for that to be
38 practical, but for non-trendy businesses that don't want to offer free
39 ice cream and pay Silicon Valley wages I guess it is an alternative to
40 building good software.
41
42 >
43 > You have seen how "democracies" work, right? :)
44 > The more voters involved, the longer it takes for all the votes to be counted.
45 > With a small number, it might actually still scale, but when you pass a magic
46 > number (no clue what this would be), the counting time starts to exceed any
47 > time you might have gained by adding more voters.
48 >
49 > Also, this, to me, seems to counteract the whole reason for using clusters:
50 > Have different nodes handle a different part of the problem.
51
52 I agree. The old mainframe way of doing things isn't going to make
53 anything faster. I don't think it will necessarily make things much
54 slower as long as all the hardware is in the same box. However, if
55 you want to start doing this at a cluster scale with offsite replicas
56 I imagine the latencies would kill just about anything. That was one
57 of the arguments against the Postgres vacuum approach where replicas
58 could end up having in-use records deleted. The solutions are to
59 delay the replicas (not great), or synchronize back to the master
60 (also not great). The MySQL approach apparently lets all the replicas
61 do their own vacuuming, which does neatly solve that particular
62 problem (presumably at the cost of more work for the replicas, and of
63 course they're no longer binary replicas).
64
65 >
66 > The way Uber created the cluster is useful when having 1 node handle all the
67 > updates and multiple nodes providing read-only access while also providing
68 > failover functionality.
69
70 I agree. I do remember listening to a Postgres talk by one of the
71 devs and while everybody's holy grail is the magical replica where you
72 just have a bunch of replicas and you do any operation on any replica
73 and everything is up to date, in reality that is almost impossible to
74 achieve with any solution.
75
76 --
77 Rich

Replies

Subject Author
Re: [gentoo-user] PostgreSQL Vs MySQL @Uber james <garftd@×××××××.net>