What is Sharding?
- It is easy and cost effective to adopt Altibase’s scale-out technology, sharding, as it does not require any changes to your existing applications if your systems are built on relational databases.
- Altibase’s sharding is designed to super-minimize the use of coordinators so that it allows for linear performance enhancement with almost no coordinator-related bottlenecks.
Altibase is a highly scalable open source DBMS. But, what exactly does highly scalable mean?
The ability to effectively scale with demanding and large data sets should be a key variable in the choice of database as the data size enterprises handle is growing exponentially and there is a growing concern over IT expenditures.
Sharding is a database technology which has become a requisite for effective scaling.
Sharding refers to an architecture where data is distributed across commodity (cheap) computers: a distributed, shared-nothing architecture in which all nodes work to satisfy a given query, but they work independently of each other, reporting back to an initiator or master node when done. The nodes do not share memory or disk space. Being cheap, we can afford many nodes, which makes the platform massively parallel processing (MPP). Data is typically distributed across nodes via a distribution key. So data in a single table would be distributed across all nodes, with the data being assigned to a node via the distribution key.
However, only a very few DBMS vendors currently provide sharding due to the complexity and limited experience in producing and commercializing the technology. Altibase has been a pioneer in the development of sharding technology, and many of its customers have adopted and utilized the technology. They have been enabled to optimize and economize on their scaling related expenditures instead of spending a huge sum on H/W addition and upgrade.
When you have to add or upgrade your IT infrastructure as the existing systems cannot handle ever increasing influx of data any longer, you have two choices.
First, you can replace your existing servers with new, powerful servers. This is usually called scale-up. The problem with this choice is that those servers are unbearably expensive and that you bear huge costs as the investment in existing servers has to be lost.
Second, you add cheap (commodity) servers to existing servers. This is usually called scale-out. Overall, the second choice costs much less than the first one because of lower H/W expenses. But, the problem with the scale-out is it accompanies coordinator-related performance degradation.
In most sharding technologies, coordinators are needed to manage and administrate nodes between servers. But the coordinators themselves are often a bottleneck and the performance deteriorates as a result.
Altibase resolves the problems related to coordinators as its sharding is designed to super-minimize the use of coordinators and thus can accelerate performance. As a result, you can add as many servers as necessary without experiencing coordinator-related performance degradation.
Another significant advantage of Altibase’s sharding is that it does not require any changes to existing applications in order to implement the scale-out if your databases are relational. Consequently, existing DBAs will find it easy to learn, adopt and administrate Altibase when they opt to scale out their systems with Altibase.
Altibase – Downloading is Believing.