Gentoo Archives: gentoo-user

From: james <garftd@×××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] PostgreSQL Vs MySQL @Uber
Date: Mon, 01 Aug 2016 12:43:35
Message-Id: bccfb177-4feb-ece7-2469-0f0288637a33@verizon.net
In Reply to: Re: [gentoo-user] PostgreSQL Vs MySQL @Uber by "J. Roeleveld"
1 On 08/01/2016 02:16 AM, J. Roeleveld wrote:
2 > On Saturday, July 30, 2016 06:38:01 AM Rich Freeman wrote:
3 >> On Sat, Jul 30, 2016 at 6:24 AM, Alan McKinnon <alan.mckinnon@×××××.com>
4 > wrote:
5 >>> On 29/07/2016 22:58, Mick wrote:
6 >>>> Interesting article explaining why Uber are moving away from PostgreSQL.
7 >>>> I am
8 >>>> running both DBs on different desktop PCs for akonadi and I'm also
9 >>>> running
10 >>>> MySQL on a number of websites. Let's which one goes sideways first. :p
11 >>>>
12 >>>> https://eng.uber.com/mysql-migration/
13 >>>
14 >>> I don't think your akonadi and some web sites compares in any way to Uber
15 >>> and what they do.
16 >>>
17 >>> FWIW, my Dev colleagues support and entire large corporate ISP's
18 >>> operational and customer data on PostgreSQL-9.3. With clustering. With no
19 >>> db-related issues :-)
20 >>
21 >> Agree, you'd need to be fairly large-scale to have their issues,
22 >
23 > And also have to design your database by people who think MySQL actually
24 > follows common SQL standards.
25 >
26 >> but I
27 >> think the article was something anybody interested in databases should
28 >> read. If nothing else it is a really easy to follow explanation of
29 >> the underlying architectures.
30 >
31 > Check the link posted by Douglas.
32 > Ubers article has some misunderstandings about the architecture with
33 > conclusions drawn that are, at least also, caused by their database design and
34 > usage.
35 >
36 >> I'll probably post this to my LUG mailing list. I think one of the
37 >> Postgres devs lurks there so I'm curious to his impressions.
38 >>
39 >> I was a bit surprised to hear about the data corruption bug. I've
40 >> always considered Postgres to have a better reputation for data
41 >> integrity.
42 >
43 > They do.
44 >
45 >> And of course almost any FOSS project could have a bug. I
46 >> don't know if either project does the kind of regression testing to
47 >> reliably detect this sort of issue.
48 >
49 > Not sure either, I do think PostgreSQL does a lot with regression tests.
50 >
51 >> I'd think that it is more likely
52 >> that the likes of Oracle would (for their flagship DB (not for MySQL),
53 >
54 > Never worked with Oracle (or other big software vendors), have you? :)
55 >
56 >> and they'd probably be more likely to send out an engineer to beg
57 >> forgiveness while they fix your database).
58 >
59 > Only if you're a big (as in, spend a lot of money with them) customer.
60 >
61 >> Of course, if you're Uber
62 >> the hit you'd take from downtime/etc isn't made up for entirely by
63 >> having somebody take a few days to get everything fixed.
64 >
65 > --
66 > Joost
67 >
68 >
69
70 I certainly respect your skills and posts on Databases, Joost, as
71 everything you have posted, in the past is 'spot on'. Granted, I'm no
72 database expert, far from it. But I want to share a few thing with you,
73 and hope you (and others) will 'chime in' on these comments.
74
75 Way back, when the earth was cooling and we all had dinosaurs for pets,
76 some of us hacked on AT&T "3B2" unix systems. They were know for their
77 'roll back and recovery', triplicated (or more) transaction processes
78 and 'voters' system to ferret out if a transaction was complete and
79 correct. There was no ACID, the current 'gold standard' if you believe
80 what Douglas and other write about concerning databases.
81
82 In essence, (from crusted up memories) a basic (SS7) transaction related
83 to the local telephone switch, was ran on 3 machines. The results were
84 compared. If they matched, the transaction went forward as valid. If 2/3
85 matched, and the switch was was configured, then the code would
86 essentially 'vote' and majority ruled. This is what led to phone calls
87 (switched phone calls) having variable delays, often in the order of
88 seconds, mis-connections and other problems we all encountered during
89 periods of excessive demand.
90
91 That scenario was at the heart of how old, crappy AT&T unix (SVR?) could
92 perform so well and therefore established the gold standard for RT
93 transaction processing, aka the "five 9s" 99.999% of up-time (about 5
94 minutes per year of downtime). Sure this part is only related to
95 transaction processing as there was much more to the "five 9s" legacy,
96 but imho, that is the heart of what was the precursor to ACID property's
97 now so greatly espoused in SQL codes that Douglas refers to.
98
99 Do folks concur or disagree at this point?
100
101
102 The reason this is important to me (and others?), is that, if this idea
103 (granted there is much more detail to it) is still valid, then it can
104 form the basis for building up superior-ACID processes, that meet or
105 exceed, the properties of an expensive (think Oracle) transaction
106 process on distributed (parallel) or clustered systems, to a degree of
107 accuracy only limited by the limit of the number of odd numbered voter
108 codes involve in the distributed and replicated parts of the
109 transaction. I even added some code where replicated routines were
110 written in different languages, and the results compared to add an
111 additional layer of verification before the voter step. (gotta love
112 assembler?).
113
114 I guess my point is 'Douglas' is full of stuffing, OR that is what folks
115 are doing when they 'role their own solution specifically customized to
116 their specific needs' as he alludes to near the end of his commentary?
117 (I'd like your opinion of this and maybe some links to current schemes
118 how to have ACID/99.999% accurate transactions on clusters of various
119 architectures.) Douglas, like yourself, writes of these things in a
120 very lucid fashion, so that is why I'm asking you for your thoughts.
121
122 Robustness of transactions, in a distributed (clustered) environment is
123 fundamental to the usefulness of most codes that are trying to migrate
124 to a cluster based processes in (VM/container/HPC) environments. I do
125 not have the old articles handy but, I'm sure that many/most of those
126 types of inherent processes can be formulated in the algebraic domain,
127 normalized and used to solve decisions often where other forms of
128 advanced logic failed (not that I'm taking a cheap shot at modern
129 programming languages) (wink wink nudge nudge); or at least that's how
130 we did it.... as young whipper_snappers bask in the day...
131
132 --an_old_farts_logic
133
134
135 curiously,
136 James

Replies

Subject Author
Re: [gentoo-user] PostgreSQL Vs MySQL @Uber "J. Roeleveld" <joost@××××××××.org>
Re: [gentoo-user] PostgreSQL Vs MySQL @Uber Douglas J Hunley <doug.hunley@×××××.com>