Horizontal scaling:- Scale by adding more machines into your pool of resource. In a database world horizontal scaling is often based on partitioning of the data i.e. each node contains only part of data. With horizontal-scaling it is often easier to scale dynamically by adding more machines into the existing pool. A good example of horizontal scaling is Cassandra, MangoDB..
Vertical scaling:- Scale by adding more power (CPU, RAM) to existing machine. In this scaling the data exist on a single node and sacling is done through multi-core i.e. spreading the load b/w the CPU & RAM resource of the machine.Vertical-scaling is often limited to the capacity of a single machine, scaling beyond that capacity often involves downtime and comes with an upper limit. A Good example of vertical scaling is My SQL.