Coding for Scale, when one database doesn't cut it
- 30 minute talk
So you code away, have a nice project, people start using it, and then quite rapidly the database can't keep up. You've optimised every query, and adding more servers can't be made to work with your code and you're in a pickle. Sure you can scale up the server to a point, but you've reached a limit where you need to add more. And now you've got a not-so-nice new project to re-implement it.
I'll talk about how to rewrite that code (or write it correctly first) so code can actually can operate on more that one database server. Because the type of database cluster can vary, and database developers drop functionality like immediate consistency and call them features too, we'll look at those deficiencies/features and describe workaround features so your application can do the right thing with more database servers.
I'll provide examples from MySQL, MariaDB version 10 and Galera however concepts apply to other database too.