Date post: | 04-Jan-2016 |
Category: |
Documents |
Upload: | callista-neumann |
View: | 36 times |
Download: | 0 times |
You will be able to:
› Explain how databases may be stored in more than one physical location and how distribution may be carried out using different approaches: Partitioned (Horizontal and Vertical) Duplicated databases Central databases with remote local indexes
As previously mentioned, databases are the backbone of most, if not all, companies.
The wealth of information stored on a database system can sometimes be overwhelming and sometimes irrelevant to some people.
Databases can be setup in different ways and different solutions are appropriate in different situations.
You are probably used to working with one database.
This database will store all the tables and all of the data.
However, there are methods which allow us to split databases into different parts and to store those parts in different physical locations.
However, a good database system will not make the user aware of this.
In a partitioned database, the database is split into different parts.
Each part is stored in a different physical ‘site’.
Each site can be on a different part of a server or on separate computers.
There are two types of partitioning:› Horizontal› Veritcal
Data is partitioned based on records.
For example, an estate agency has many outlets across the country.
Instead of having one central database, the estate agency have split their database based on the agency and the location of the houses.
UK houses and flats.
Imagine all the records for all the houses that are for sale or rent
are stored in one database. Filtering houses would take longer because of the larger
number of records. Also, returning results would be longer because the request has further
distance to travel.
Instead of saving all these records in one database you
could split the records into their own database based on their
locations.
Imagine all the records for all the houses that are for sale or rent
are stored in one database. Filtering houses would take longer because of the larger
number of records. Also, returning results would be longer because the request has further
distance to travel.
Instead of saving all these records in one database you
could split the records into their own database based on their
locations.
Leicester
Coventry
Birmingham
Each branch now has its own database.
If someone wanted to buy a house in their area, they would walk into their branch and the estate agent could search their
database quickly.
Each branch now has its own database.
If someone wanted to buy a house in their area, they would walk into their branch and the estate agent could search their
database quickly.
Leicester
Coventry
Birmingham
If someone wanted to move area, the estate agent would
need to request data from another branch’s database.
If someone wanted to move area, the estate agent would
need to request data from another branch’s database.
This type of partition splits data across sites based on the fields.
For example, a small chain of shops which specialises in rare, one off, products may have different departments which are in different locations.
Each shop stocks different items as most of their products are one off or bespoke.
These departments include the head office, purchasing and the actual shop.
Head Office
Purchasing
Shop
The head office stores information about what products are stocked in different shops.
They are uninterested in the prices or who the supplier is.
Head Office
Purchasing
Shop
The purchasing department is interested in making orders to suppliers when they receive an
order request from a shop.
Head Office
Purchasing
Shop
The vendor is interested in stocking particular items and
knowing:
-How much stock they have-How much to sell the stock for
ItemID ItemName Branch Supplier Quantity
Price
AB111 Mega Old Clock
Leicester Ye Oldie Clocks
1 £995
AC222 Wobbly Chair Leicester Steady on 2 £569
AD333 Grand Piano Coventry Chop Sticks 1 £5995
AE444 Old Picture Birmingham Arts R Us 1 £9995
… … … … … …
… … … … … …
Head Office Purchasing Shop
All databases use this field
Thinking back to our estate agency example with horizontal partitions…
Each branch had only part of all the possible records.
With replicated databases, each branch would have a complete copy of the entire database.
UK houses and flats.
This is the full version of the database.
This is the full version of the database.
UK houses and flats.
Horizontal Partition means each branch has only some of the
database.
Horizontal Partition means each branch has only some of the
database.
Leicester
Coventry
Birmingham
UK houses and flats.
Replicated databases means all branches have a full copy of the
original database.
Replicated databases means all branches have a full copy of the
original database.
Leicester Coventry Birmingham
This database is stored in one place and one place only.
For example, a bank stores all the records of its customers in one database.
The problem is each branch has to search the database every time it wants to find a customer’s records.
However, to speed things up, each branch keeps a database which stores the customers account number and an index number.
Now, when a branch requests data from the head office server, it can tell the server exactly where the record can be found.
Think of it like a library system.
All the books are in one big room.
To find the book you were looking for you would have to search all the titles on the shelf until you found the book you wanted.
However, if you knew the index number of the book you could go straight to that section of the shelf and pick it up.
Index Account # Surname Forename Balance
1 01234567 Beale Ian £300
… … … … …
5000 12345678 Butcher Frank -£34.83
5001 98765432 Mitchell Peggy £923
…
Account # Index
01234567 1
… …
12345678 5000
98765432 5001
Head Office
Leicester Branch
Describe how data can be distributed using horizontal partitioning.
Describe the difference between horizontal and vertical partitioning.
How could local indexes be used with a centralised database?
Well now you know about different ways of distributing a database…
But you still need to know when it is appropriate to use those types of database.
Read through pages 147-150 and answer the questions at the end.
Those pages are packed full of advantages and disadvantages of using different types of database.