4 ms·
The preceding sentence is > Joins inside MySQL were strongly discouraged in the codebase so that we would have more freedom in choosing which tables to move fo
by tobyjsullivan 6y ago
The preceding sentence is
> Joins inside MySQL were strongly discouraged in the codebase so that we would have more freedom in choosing which tables to move for scale out. The result is that we do very few joins in MySQL.
And that comes at the end of the section describing their “vertical scaling” strategy and its motivations.
As for your hypothesis about long transactions, this is not actually a problem in my experience (on larger scale CRUDy apps, specifically). In this scenario, you’re choosing to trade consistency for the ability to break out arbitrary tables to discrete databases. You’re going to lose that consistency after splitting data between multiple databases anyway (we’ll gloss over distributed transactions here) so why not be proactive about it? And on a “simple” platform like Quora, data is going to have a predominantly hierarchical relationship (users have posts which have comments which have likes, etc.) so internal consistency between content is rarely a significant concern.