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 |