data storage and data processing architectures
DESCRIPTION
Data Storage and Data Processing Architectures. The difficulty is in the choice George Moore, 1900. Architectures. Remote job entry. Local storage Often cheaper Maybe more secure Remote processing Useful when a personal computer is: too slow has insufficient memory - PowerPoint PPT PresentationTRANSCRIPT
Remote job entry
Local storageOften cheaperMaybe more secure
Remote processingUseful when a personal computer is:
too slowhas insufficient memorysoftware is not available
Some local processingData preparation
Personal database
Local storage and processingAdvantages
Personal computers are cheapGreater controlFriendlier interface
DisadvantagesReplication of applications and dataDifficult to share dataSecurity and integrity are lowerDisposable systemsMisdirection of attention and resources
Host/terminal
Remote storage and processingAssociated with mainframe computersAll shared resources are managed by the host (server)
LAN architectures
A LAN connects computers within a geographic areaTransfer speeds of up to 1,000 Mbits/secPermits sharing of devicesA server is a computer that provides and controls access to a shareable resource
File/server
A central data store for users attached to a LANFiles are stored on a file/serverData is processing on users’ personal computerEntire files are transmitted on the LANCan result in heavy LAN trafficFile is locked when retrieved for updateLimited to small files and low demand
DBMS/server
A server runs a DBMSOnly necessary records are transmitted on the LANLess LAN traffic than file/serverBack-end program on the server handles retrievalFront-end program on the client handles processing and presentationMore sharing of processing than file/server
Client/server
File/server and DBMS/server are examples of client/serverObjective is to reduce processing costs by splitting processing between clients and the serverClient is typically a Web browserSavings
Ease of use / fewer errorsLess training
Client/Server - 2nd Generation
Three-tier model
ClientsBrowser
Application serversMainly J2EE compliant
Data serversMainly relational database
Thick and thin clients
Type of client Thick Thin
Technology LAN Web
Application logic Mostly on the client
Mostly on the server
Network load Medium Low
Data storage Server Server
Server intelligence Medium High
Advantages of the three-tier model
Security is higher because logic is on the serverPerformance is betterAccess to legacy systems and a variety of databasesEasier to implement and maintain
Evolution of client/server computing
Architecture
Description
Two-tier Processing is split between client and server, which also runs the DBMS.
Three-tier Client does presentation, processing is done by the server, and the DBMS is on a separate server.
N-tier Client does presentation. Processing and DBMS can be spread across multiple servers. This is a distributed resources environment.
Distributed database
Communication charges are a key factor in total processing costTransmission costs increase with distance
Local processing saves money
A database can be distributed to reduce communication costs
Distributed database
Database is physically distributed as semi-independent databasesThere are communication links between each of the databasesAppears as one database
A hybrid
Architecture evolvesOld structures cannot be abandonedNew technologies offer new opportunities
Ideally, the many structures are patched together to provide a seamless view of organizational databasesDistributed database principles apply to this hybrid architecture
Fundamental principles
TransparencyNo reliance on a central siteLocal autonomyContinuous operationDistributed query processingDistributed transaction processing
Fundamental principles
Replication independenceFragmentation independenceHardware independenceOperating system independenceNetwork independenceDBMS independence
Independence
Distributed database access
Remote RequestRemote TransactionDistributed TransactionDistributed Request
Remote Request
A single request to a single remote site
SELECT * FROM atlserver.bankdb.customer
WHERE custcode = '12345';
Remote Transaction
Multiple data requests to a single remote siteBEGIN WORK;
INSERT INTO atlserver.bankdb.account
(accnum, acctype)
VALUES (789, 'C');
INSERT INTO atlserver.bankdb.cust_acct
(custnum, accnum)
VALUES (123, 789);
COMMIT WORK;
Distributed Transaction
Multiple data requests to multiple sitesBEGIN WORK;
UPDATE atlserver.bankdb.employee
SET empusdretfund = empusdretfund + 1000;
UPDATE osloserver.bankdb.employee
SET empkrnretfund = empkrnretfund + 7500;
COMMIT WORK;
* See notes
Distributed Request
Multiple requests to multiple sitesEach request can access multiple sitesBEGIN 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;
Distributed database design
Horizontal FragmentationVertical FragmentationHybrid FragmentationReplication
ReplicationFull replication
Tables are duplicated at each of the sitesIncreased data integrityFaster processingMore expensive
Partial replicationIndexes replicatedFaster queryingRetrieval from the remote database