The problem is common, and has nothing to do with MySQL, ProgSQL, or Oracle.
It has to do with lazy barstids that didn't do the work up front and became frantic barstids, trying to keep the thing working.
It's a common engineering problem. Systems Engineering, not just for aerospace.
Someone has to ask (and answer) "what is the growth path?"
I'm doing engineering on a start-up now. And we're good on growth path until I sell out or die. And then I don't care.
/johnny
Great explanation, thanks! I got the jist of the story, that Facebook uses MySQL, which is freeware and was never designed for hundreds of millions of users creating billions of transactions; however, I didn’t know that Facebook ran on such a tiny platform!!
A few years ago I worked for a huge financial company, and learned that a key list of company information was kept on one of the employee’s desktop computer hard drive, in a spreadsheet!
I agree with that 100%
I do A LOT of contract work writing software. I tell people that unlike many programming languages where there are dozens of ways to do something that are all equally valid, there is usually only one RIGHT way to do a database, and all others are wrong
And a bad database works well when it is small, but as it grows you have serious problems NOT easy to fix.
I can see where Facebook grew from nothing and needed to work on freeware- but after their first billion or so they should have known to sink a huge chunk of that into redesign
E.X.A.C.T.L.Y.
If you design the sh*t correctly the first time, rewrites aren’t required, even when the boss comes in at 4:59:59 on Friday and says “I gotta have it Monday!”
This may in fact be common, but it’s a symptom of lazy b@st@rds.
That and a serious lack of Oracle. (*checks ammo, ducks for cover*)
Bingo!
Your *ENTIRE* reply hit the nail on the head.
I’ve seen (more often heard, rather than seen) this type of issue occur when forthought and growth is not engineered in at the beginning.