One of the methods is Algorithmic Sharding where a certain algorithm is used to determine the destination machine where the dataset is needed to be stored. There are multiple ways to partition the data into several machines. In order to avoid this problem Consistent Hashing is used which can provide flexibility to your system implementing sharded database. It’s complex to add or remove machines from the existing sharded database design. Less Flexible : If you have a certain number of machines among which your data sets are distributed then it’s really complex to increase or decrease that number.This phenomenon of concentration of the entire load at a single machine is known as the existence of Hotspot in Sharding and that single machine is known as Hotspot. Hence it will be having a maximum portion of the entire load and may wear out. If this doesn't happen and one of the machines gets most of the data then in turn it will be responsible for answering most of the queries. Hotspots in Sharding : As you have multiple machines which are responsible for storing your data, you need to ensure that the incoming data to be stored gets equally distributed among the available machines.As you have multiple machines with yourself you need to be responsible for maintaining all of them and if any one of them fails then it could lead to data unavailability. Maintaining a Sharded Database is also difficult. This entire process can be expensive and complex as well. When you query your database then there could be a situation where your query will be sent to multiple machines and then datasets will be fetched according to the query and will be needed to join back when these results are returned to the system. Programming and Operational Complexity : When you partition your database and store them in different machines then it could increase the complexity of your system.Before going with Sharding you should also look into other possible alternatives which could be less complex and still your system can be reliable.
0 Comments
Leave a Reply. |