3 ms·
How to Avoid the Top 5 Scale-Out Pitfalls
- kakooljay 17y agoSee: http://www.mysql.com/why-mysql/scaleout/scaleout_pitfalls.html http://www.mysql.com/why-mysql/scaleout/scaleout_pitfalls.ht...
- mmt 17y ago2. Don't Think Vertically It's a mistake to think that a system can be grown by scaling vertically, that is, by buying bigger machines with more CPUs. Throwing more power at an existing implementation -- which is probably synchronous and most likely already suffering from lock waits -- is only going to make it 'wait faster'. By planning for horizontal scale-out, almost from the start, a business is already planning in the direction of distributed, asynchronous systems, which will make it easier to add more capacity later on. Therein lies what I consider to be MySQL's greatest "scale out" failing: locking implementation. It also hints at its second-greatest failing in this context, being parallelism implementation, leading to CPU being a limiting factor. Scaling "horizontally" is extremely expensive, if vertical scaling is still possible. For example, a $1k server might hold 6 spindles, while a $1k storage array holds 24. The situation with CPU and memory isn't quite as extreme, but it still tends to hold. It also limits one to network (rather than internal bus) latencies and bandwidth.