This post was originally published on vcloudnews.com which is owned by Dihuni. This article was contributed by Tony Branson.
Every organization must have the ability to handle an increase or decrease in the business demands. So, it is crucial that businesses are equipped with database scalability. Let’s read more about it.
Scalability means the ability to expand the computer resources to handle the exponential growth of work. It refers to the system’s capacity to handle an increase in load by increasing the total output when resources are added. Database scalability means the ability of a system’s database to scale up or down as per the requirement. If the database isn’t scalable, then the processes can slow down or even fail which can be quite detrimental to the business operations. Further, it enables the database to grow to a larger size to support more transactions as the volume of business and/or customer count grows.
There are two types of database scalability :
- Vertical Scaling or Scale-up
- Horizontal Scaling or Scale-out
Let us look at each of them in detail.
Scale-up or Vertical Scaling
It refers to the process of adding more physical resources such as memory, storage and CPU to the existing database server for improving the performance. Vertical scaling helps in upgrading the capacity of the existing database server. It results in a robust system. Some of its pros include:
Pros of Scaling-Up
- It consumes less power as compared to running multiple servers
- Administrative efforts will be reduced as you need to handle and manage just one system
- Cooling costs are lesser than horizontal scaling
- Reduced software costs
- Implementation isn’t difficult
- The licensing costs are less
- The application compatibility is retained
Cons of Scaling up
- There is a greater risk of hardware failure which can cause bigger outages
- Limited scope of upgradeability in the future
- Severe vendor lock-in
- The overall cost of implementing is really expensive
Scale-Out or Horizontal Scaling
When you add more servers with less RAM and processors, it is known as horizontal scaling. It can also be defined as the ability to increase the capacity by connecting multiple software or hardware entities in such a manner that they function as a single logical unit. It is cheaper as a whole and it can literally scale infinitely, however, there are some limits imposed by software or other attributes of an environment’s infrastructure. When the servers are clustered, the original server is scaled out horizontally. If a cluster requires more resources to improve its performance and provide high availability, then the administrator can scale-out by adding more servers to the cluster.
Pros of Scaling-out
- Much cheaper compared to scaling-up
- Takes advantage of smaller systems
- Easy to upgrade
- Resilience is improved due to the presence of discrete, multiple systems
- Easier to run fault-tolerance
- Supporting linear increases in capacity
Cons of Scaling-out
- The licensing fees are more
- Utility costs such as cooling and electricity are high
- It has a bigger footprint in the Data Center
- More networking equipment such as routers and switches may be needed
Scaling out is not a new concept but it has gained momentum as the storage startups create new structures that leverage the power of modern x86 servers. This addresses various limitations of the older scale-up architectures. However, there are some risks of this model. Each of the x86 servers is a failure domain that doesn’t’t exist in a scale-up environment, which is usually handled by the layout of data on the array, where the copies of data are kept on at least two nodes. Another risk of scaling-out is that upgrading the nodes is quite complex and if you want to roll out new software to a hundred nodes, it becomes quite a tedious task.
Database scalability helps in eliminating performance bottlenecks. Understand your company’s scalability needs and implement the same. It is critical that you the weigh the pros and cons of both vertical and horizontal scaling before you decide on what to implement. What works for other companies may not work for you. Check the benefits of both the types against your requirements and you implement the right one. Undoubtedly, you will be amazed by the results you achieve.
A self-proclaimed tech geek, with a passion for ScaleArc’s disruptive technology innovation in database load balancing. Tony has a passion for dissecting tech topics such as transparent failover, centralized control, ACID compliance, database scalability and downtime effects. On his days off, he can be found watching sci-fi movies, rock climbing or volunteering.