Fragmentation in Distributed Database System / Horizontal Fragmentation in Distributed Database / Primary Horizontal Fragmentation Example / Primary Horizontal Fragmentation Explained
Fragmentation involves breaking a relation (table) into two or more pieces either horizontally (Horizontal Fragmentation) or vertically (Vertical Fragmentation) or both (Hybrid), mainly to improve the availability of data to the end user and end user programs.
Let us start this section with an example. Consider XYZ bank, which is currently having around 1000 branches all over the country. Assume that it maintains its database at single location, say New Delhi (Head office - Central Site). Now the problem is that, all the requests generated from any part of the country can only be handled at the central site (New Delhi). The requests might be generated for withdrawal of money, balance inquiry, PIN change request, transfer of funds, POS purchase, etc., through ATM, Net Banking, POS terminals. Think about the number of transactions could be generated and the network traffic created if thousands of the bank customer uses the above said mode for daily transactions, including direct bank transactions at the bank counters.
One possible solution for handling such a huge number of transactions is to have distributed database. But, we have set of questions in front of us. They are;
- How are we going to fragment a table?
- How many fragments to be created?
- Which strategy of fragmentation would help improving the performance?
- Should one need to fragment all the tables in a database or only a few tables?
- Where do we keep the fragments after fragmentation? (Allocation problem)
Answer to these questions would help us in understanding, fragmenting, and improving the overall system.
Types of Fragmentation:
The first question 'How are we going to fragment a table?' can be answered here. We have the following types of fragmentation.
1. Horizontal Fragmentation
2. Vertical Fragmentation
3. Hybrid Fragmentation
We shall discuss one by one in detail.
Go back to Distributed database page