Fragmentation in Distributed Database System / Horizontal Fragmentation in Distributed Database / Primary Horizontal Fragmentation Example / Primary Horizontal Fragmentation Explained
Fragmentation
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