2 Chapter 9 - Objectives Concepts. Advantages and disadvantages of distributed databases.Functions and architecture for a DDBMS.Comparison criteria for DDBMSs.
3 Concepts Distributed Database A logically interrelated collection of shared data (and a description of this data), physically distributed over a computer network.Distributed DBMSSoftware system that permits the management of the distributed database and makes the distribution transparent to users.
4 Centralized & Distributed Database Single site database – centralized databaseA database is located at a single siteMulti-site database – distributed databaseA database is stored on multiple computers (not connected)
5 Centralised DB – DB located at single site or location Dumb TerminalCentral Computer DBDumb TerminalRemote Terminal
6 Distributed DB – DB distributed over several sites DBMS 1DBMS 3NetworkDBMS 2
7 Centralized & Distributed Database Ad/Disadvantages of centralized databasePerformance degradation (no. of users)High cost (when no. of access , communication transmission costFast access as all at one site (advantage)Reliability issues (if one fails, all process stop)
8 Centralized & Distributed Database Advantages of distributed databaseReduced cost – data needed at the local site, so reduce costHigh availability – if one site fails, data can be still accessed from other sitesSupport graphical interfaces – more user friendly interfacesShared workload – spread over several sites
9 Data Distribution Strategies Data allocation or distribution – a process of deciding where to locate the dataThree strategiesCentralized – at a single sitePartitioned – split the database (vertical/horizontal)Replication – duplicates the database/copy
10 Data Replication Two types of replication : Fully replicated – same data store at several sitePartially replicated – part of database at another site
11 Data Replication Advantages (available locally) : Fast response (queries processed faster)Reduced transmission cost (DB close to user)High reliability (got copies)Disadvantages (duplicate/redundant data):Increased storage requirementIncreased cost (changes/update must be done to all the DB)Reduced security (poor security at one site, allows attacks to all the data in DB)
12 PartitioningTwo types of partitioningi. Horizontal partitioning – rows of table are distributedAdvantages :Fast accessReduced costSecurityDisadvantages :Backup problemVarying access speedStudent_IDStudent_NameAgeA1Ali22A2Siti46A3Raju44A4Karen21Row 1 and 2 are split from the original table and located in different location
13 Partitioning Fast access Reduced cost security Backup problem ii. Vertical partitioning – columns of table are distributedAdvantages :Fast accessReduced costsecurityDisadvantages :Backup problemSpeed differenceStudent_IDStudent_NameAgeColumn 1 and 2 are split from the original table and located in different location
14 Distributed DBMS Distributed processing for distributed database Must provide the following transparencies :Transaction transparency?Distribution transparency?Failure transparency?Performance transparency?Heterogeneity transparency?
15 Transaction transparency? Transaction maintains consistency and the transaction completed entirely or it is abortedDistribution transparency?Gives an impression to user that there is only one DB when in actual fact it is split and scattered at several sitesFailure transparency?if any site fails, it is not known by other users at other sites, their transaction goes on as usual
16 Performance transparency? The overall performance of the DDBMS is not significantly different from the centralized DBHeterogeneity transparency?Gives an impression that there is only one DBMS being used when in actual fact there are several DBMS being used
17 Client/server is normally a 2-tier architecture Tier-1 : ClientTier-2 : DB serverMore complex client/server or web-based systems may require 3-tier architectureTier 1 : ClientTier 2 : Application serverTier 3 : DB server
18 ODBC (Open DB Connectivity) Standard Is an interface by which application programs can access and process SQL databases in a DBMS-independent mannerAny application that uses the ODBC interface will be able to access any other DB without changing the program codingIf you have an application program that uses ODBC interface, you should be able to access an Oracle, Informix, Access or other DB.