As we mentioned earlier in this chapter, the main driving factor is the amount of data your website needs to handle. Any time you need to handle large amounts of streaming data where the data needs to be stored for later review or analysis, the size of the database could quickly increase as the number of users increases. A decision point arrives when one of two things occurs:
- The amount of data exceeds the existing server's hard drive capacity
- Sluggish and unacceptable performance is experienced as read and write requests are bottlenecked
Once either or both of these obstacles are encountered, you need to decide between vertical and horizontal scaling solutions. If you strongly feel that the amount of data does not increase exponentially, or if you feel that, by adding a bit more RAM, the current server could handle the load, a vertical solution might be in order. If, on the other hand, there is no end in sight...