What is Sharding?
- Altibase is among a very small subset of relational DBMSs that currently provide scale-out technology, sharding.
- It is easy and cost effective to adopt Altibase’s 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 has been a pioneer in the development and commercialization of sharding. Many of its customers have adopted and utilized Altibase’s sharding to optimize and economize on their scaling related expenditures instead of spending a huge sum on H/W addition and upgrade.
Altibase is a highly scalable open source DBMS. But, what exactly does highly scalable mean?
The ability to effectively scale with demanding and very 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.
However, only a very few DBMS vendors currently provide sharding due to the complexity and limited experience in producing and commercializing the technology. This is particularly true of relational database vendors.
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. As those nodes are fairly cheap, we can afford many of them, 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.
When you have to add or upgrade your IT infrastructure as your 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 expenditure. 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 Altibase if your systems are built on relational databases. 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.