1 / 32

Database Management Fall 2003 Data Processing Architecture Chapter 12

Database Management Fall 2003 Data Processing Architecture Chapter 12. Personal database. Local storage and processing Advantages Personal computers are cheap Greater control Friendlier interface Disadvantages Replication of applications and data Difficult to share data

jacob
Download Presentation

Database Management Fall 2003 Data Processing Architecture Chapter 12

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Database Management Fall 2003 Data Processing Architecture Chapter 12

  2. Personal database • Local storage and processing • Advantages • Personal computers are cheap • Greater control • Friendlier interface • Disadvantages • Replication of applications and data • Difficult to share data • Security and integrity are lower • Disposable systems • Misdirection of attention and resources

  3. Host/terminal • Remote storage and processing • Associated with mainframe computers • All shared resources are managed by the host • Upgrades are in large chunks

  4. Host/terminal

  5. LAN architectures • A LAN connects computers within a geographic area • Transfer speeds of up to 1,000 Mbits/sec • Permits sharing of devices • A server is a computer that provides and controls access to a shareable resource

  6. Client/Server - 2nd Generation • Two-tier solution • Client runs application, Server provides resources DC Application Client manager Operating system DC DBMS DC Application manager Client manager LAN Operating system Operating system Server DC Application manager Client Operating system

  7. Client/Server • Client is typically a PC or workstation • Server is typically a larger with multiple cpu and gigabytes of memory and disk space

  8. Client/Server - 2nd Generation • Three-tier solution – best of both worlds • Client runs thin client, Server provides resources, App Server runs application DC Thin client manager Operating system DC Application DC Browser DC DBMS manager manager manager LAN Operating system Operating system Operating system Application server Data server Browser DC manager Middleware Operating system

  9. Client/server • Client is typically a PC and browser • Application server is typically a web server

  10. Thick and thin clients

  11. Evolution of client/server computing

  12. N-tier Architecture Database Server Application Server Database Application Server Web Server Firewall Database Server Client Database Internet Client

  13. Distributed database • Communication charges are a key factor in total processing cost • Transmission costs increase with distance • Local processing saves money • A database can be distributed to reduce communication costs

  14. Distributed database • Database is physically distributed as semi-independent databases • There are communication links between each of the databases • Appears as one database

  15. Distributed Database homogeneous distributed database

  16. A hybrid • Architecture evolves • Old structures cannot be abandoned • New technologies offer new opportunities • Ideally, the many structures are patched together to provide a seamless view of organizational databases • Distributed database principles apply to this hybrid architecture

  17. Distributed Database Homogeneous Envirnoment Heterogeneous Envirnoment

  18. Distributed database access • Remote Request • Remote Transaction • Distributed Transaction • Distributed Request Remote Request • A single request to a single remote site SELECT * FROM atlserver.bankdb.customer WHERE custcode = '12345';

  19. Remote Transaction • Multiple data requests to a single remote site BEGIN WORK; INSERT INTO atlserver.bankdb.account (accnum, acctype) VALUES (789, 'C'); INSERT INTO atlserver.bankdb.cust_acct (custnum, accnum) VALUES (123, 789); COMMIT WORK;

  20. Distributed Transaction • Multiple data requests to multiple sites BEGIN WORK; INSERT INTO osloserver.bankdb.employee (empcode, emplname, …) SELECT empcode, emplname, … FROM atlserver.bankdb.employee WHERE empcode = 123; DELETE FROM atlserver.bankdb.employee WHERE empcode = 123; COMMIT WORK; • Two-phase commit Database Database

  21. Distributed Request • Multiple requests to multiple sites • Each request can access multiple sites BEGIN WORK; CREATE VIEW temp (empcode, empfname, emplname, empsalary) AS SELECT empcode, empfname, emplname, empsalary FROM atlserver.bankdb.employee UNION SELECT empcode, empfname, emplname, empsalary FROM osloserver.bankdb.employee; SELECT empcode, empfname, emplname, empsalary*.15 AS bonus FROM temp; UPDATE atlserver.bankdb.employee SET empusdretfund = empusdretfund + 1000; UPDATE osloserver.bankdb.employee SET empkrnretfund = empkrnretfund + 7500; COMMIT WORK;

  22. Distributed database design • Horizontal Fragmentation • Vertical Fragmentation • Hybrid Fragmentation • Replication

  23. Horizontal fragmentation

  24. Distributed Database DEPT table resides on HQ database, EMP table is on Sales DB

  25. Vertical fragmentation

  26. Replication • Full replication • Tables are duplicated at each of the sites • Increased data integrity • Faster processing • More expensive • Partial replication • Indexes replicated • Faster querying • Retrieval from the remote database

  27. Replication • Identical remote databases • Parallel Processing • Distributed processing in a local environment Database Server Database Client Database Server Application Server Database Client Client Database

  28. Remote job entry • Local storage • Often cheaper • Maybe more secure • Remote processing • Useful when a personal computer is: • too slow • has insufficient memory • software is not available • Some local processing • Data preparation

  29. (Chapter 12: What to know) Ways to distribute data storage (where you keep the data) and data processing (where the computer works on it) Remote job entry: local storage, remote processing Personal database: local storage, local processing Host/terminal: remote storage, remote processing Client-server computing: various distributions of local & remote storage/processing

  30. (Chapter 12, what to know) Alternative client-server architectures… Two-tier, thick client: client does most of the application processing work; server provides data management and access functions Three-tier, thin client: application processing is re-assigned to an application server; thin client (often a browser) handles data presentation tasks; a database server handles data management functions N-tier: extends three-tier, with thin client having access to multiple application and database servers

  31. (Chapter 12: What to know) Distributed database: What is it? data is located on different (and often heterogeneous) systems; the system catalog, which is itself distributed, maintains information about the location and structure of all the parts Partitioning: data can be partitioned (fragmented) horizontally (distributes records locally to where they’re needed), or vertically (distributes fields to spread the processing load); also note hybrid Replication: tables (“full rep”) or indexes (“partial rep”) can be duplicated across sites; synchronous vs. asynchronous replication

  32. (Chapter 12: What to know) Distributed data access: The details of the SQL in Chapter 12 are FYI… however, you should understand the possibilities: Remote request: an application issues a single request to a single remote site Remote transaction: multiple data requests to a single remote site Distributed transaction: multiple data requests to multiple sites – each request is for data on a single server Distributed request: multiple data requests to multiple sites– each request may be for data at multiple sites

More Related