I've heard "scale up" and "scale out" which I guess are the same thing as horizontal and vertical.
Scale up = able to benefit from bigger hardware on the same box. i.e. faster processor, more memory etc.
Scale out = able to benefit from additional boxes. e.g. load sharing, clusters etc.
A good example is session management. Often session management is tied to a particular server (especially if you use the Microsoft ASP session object which is held in the servers memory), so this is an example of a system that would scale up but not out. If you added a bigger processor it would work quicker, but if you added a second web server then the session management would break.
(In reality you could use session stickiness in your load balancer to get around this, but it's a good simple example).
Everywhere's within walking distance if you have enough time.
Vertically scalable systems would benefit from additional CPUs, memory, etc...
And horizontally scalable will benefit from adding another system into the cluster.
Historically, web and app servers always were horizontally scalable and databases are vertically scalable. Itís not to say that database could not be horizontally scalable. However, inherently, databases are much harder to scale horizontally.
Continuing the session object example.. There is session replication mechanism which allows for session to be ďreplicatedĒ across different servers. However, the bigger the session object is -- the bigger the resources would be needed to replicate it. So, eventually replicating something very big across different hardware would take too much of the systemís resources. Hence, databases are usually scaled vertically.
[ QUOTE ]
Itís not to say that database could not be horizontally scalable. However, inherently, databases are much harder to scale horizontally.
[/ QUOTE ]
Very true - we have hit a wall in vertical hardware, basically, and are in the process of a rearchitecture to support horizontal scaling on our database layer. It can be much more flexible long-term, but I don't think people tend to design systems in that manner initially.