Computer Science Engineering (CSE) Exam  >  Computer Science Engineering (CSE) Notes  >  Centralized and Client/Server Architectures for DBMSS

Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE) PDF Download

Centralized and Client/Server Architectures for DBMSs

1. Centralized DBMSs Architecture

Architectures for DBMSs have followed trends similar to those for general computer system architectures. Earlier architectures used mainframe computers to provide the main processing for all system functions, including user application programs and user interface programs, as well as all the DBMS functionality. The reason was that most users accessed such systems via computer terminals that did not have processing power and only provided display capabilities. Therefore, all processing was performed remotely on the computer system, and only display information and controls were sent from the computer to the display terminals, which were connected to the central computer via various types of communications networks.

As prices of hardware declined, most users replaced their terminals with PCs and workstations. At first, database systems used these computers similarly to how they had used display terminals, so that the DBMS itself was still a centralized DBMS in which all the DBMS functionality, application program execution, and user inter-face processing were carried out on one machine. Figure 2.4 illustrates the physical components in a centralized architecture. Gradually, DBMS systems started to exploit the available processing power at the user side, which led to client/server DBMS architectures.

2. Basic Client/Server Architectures

First, we discuss client/server architecture in general, then we see how it is applied to DBMSs. Theclient/server architecture was developed to deal with computing environments in which a large number of PCs, workstations, file servers, printers, database servers,

Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE)

Web servers, e-mail servers, and other software and equipment are connected via a network. The idea is to definespecialized serverswith specific functionalities. For example, it is possible to connect a number of PCs or small workstations as clients to afile serverthat maintains the files of the client machines. Another machine can be designated as aprinter serverby being connected to various printers; all print requests by the clients are forwarded to this machine.Webservers or e-mail servers also fall into the specialized server category. The resources provided by specialized servers can be accessed by many client machines. Theclientmachines provide the user with the appropriate interfaces to utilize these servers, as well as with local processing power to run local applications. This concept can be carried over to other software packages, with specialized programs—such as a CAD (computer-aided design) package—being stored on specific server machines and being made accessible to multiple clients. Figure 2.5 illustrates client/server architecture at the logical level; Figure 2.6 is a simplified diagram that shows the physical architecture. Some machines would be client sites only (for example, diskless work-stations or workstations/PCs with disks that have only client software installed).

Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE)

Other machines would be dedicated servers, and others would have both client and server functionality.

The concept of client/server architecture assumes an underlying framework that consists of many PCs and workstations as well as a smaller number of mainframe machines, connected via LANs and other types of computer networks. A client in this framework is typically a user machine that provides user interface capabilities and local processing. When a client requires access to additional functionality— such as database access—that does not exist at that machine, it connects to a server that provides the needed functionality. A server is a system containing both hard-ware and software that can provide services to the client machines, such as file access, printing, archiving, or database access. In general, some machines install only client software, others only server software, and still others may include both client and server software, as illustrated in Figure 2.6. However, it is more common that client and server software usually run on separate machines. Two main types of basic DBMS architectures were created on this underlying client/server framework: two-tier and three-tier.13 We discuss them next.

3. Two-Tier Client/Server Architectures for DBMSs

In relational database management systems (RDBMSs), many of which started as centralized systems, the system components that were first moved to the client side were the user interface and application programs. Because SQL (see Chapters 4 and 5) provided a standard language for RDBMSs, this created a logical dividing point between client and server. Hence, the query and transaction functionality related to SQL processing remained on the server side. In such an architecture, the server is often called a query server ortransaction server because it provides these two functionalities. In an RDBMS, the server is also often called an SQL server.

The user interface programs and application programs can run on the client side. When DBMS access is required, the program establishes a connection to the DBMS (which is on the server side); once the connection is created, the client program can communicate with the DBMS. A standard called Open Database Connectivity

(ODBC) provides an application programming interface (API), which allows client-side programs to call the DBMS, as long as both client and server machines have the necessary software installed. Most DBMS vendors provide ODBC drivers for their systems. A client program can actually connect to several RDBMSs and send query and transaction requests using the ODBC API, which are then processed at the server sites. Any query results are sent back to the client program, which can process and display the results as needed. A related standard for the Java programming language, called JDBC, has also been defined. This allows Java client programs to access one or more DBMSs through a standard interface.

The different approach to two-tier client/server architecture was taken by some object-oriented DBMSs, where the software modules of the DBMS were divided between client and server in a more integrated way. For example, the server level may include the part of the DBMS software responsible for handling data storage on disk pages, local concurrency control and recovery, buffering and caching of disk pages, and other such functions. Meanwhile, the client level may handle the user interface; data dictionary functions; DBMS interactions with programming language compilers; global query optimization, concurrency control, and recovery across multiple servers; structuring of complex objects from the data in the buffers; and other such functions. In this approach, the client/server interaction is more tightly coupled and is done internally by the DBMS modules—some of which reside on the client and some on the server—rather than by the users/programmers. The exact division of functionality can vary from system to system. In such a client/server architecture, the server has been called a data server because it provides data in disk pages to the client. This data can then be structured into objects for the client programs by the client-side DBMS software.

The architectures described here are called two-tier architectures because the soft-ware components are distributed over two systems: client and server. The advan-tages of this architecture are its simplicity and seamless compatibility with existing systems. The emergence of the Web changed the roles of clients and servers, leading to the three-tier architecture.

4. Three-Tier and n-Tier Architectures for Web Applications

Many Web applications use an architecture called the three-tier architecture, which adds an intermediate layer between the client and the database server, as illustrated in Figure 2.7(a).

Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE)

This intermediate layer or middle tier is called the application server or the Web server, depending on the application. This server plays an intermediary role by run-ning application programs and storing business rules (procedures or constraints) that are used to access data from the database server. It can also improve database security by checking a client’s credentials before forwarding a request to the data-base server. Clients contain GUI interfaces and some additional application-specific business rules. The intermediate server accepts requests from the client, processes the request and sends database queries and commands to the database server, and then acts as a conduit for passing (partially) processed data from the database server to the clients, where it may be processed further and filtered to be presented to users in GUI format. Thus, the user interface, application rules, and data access act as the three tiers. Figure 2.7(b) shows another architecture used by database and other application package vendors. The presentation layer displays information to the user and allows data entry. The business logic layer handles intermediate rules and constraints before data is passed up to the user or down to the DBMS. The bottom layer includes all data management services. The middle layer can also act as a Web server, which retrieves query results from the database server and formats them into dynamic Web pages that are viewed by the Web browser at the client side.

Other architectures have also been proposed. It is possible to divide the layers between the user and the stored data further into finer components, thereby giving rise to n-tier architectures, where n may be four or five tiers. Typically, the business logic layer is divided into multiple layers. Besides distributing programming and data throughout a network, n-tier applications afford the advantage that any one tier can run on an appropriate processor or operating system platform and can be handled independently. Vendors of ERP (enterprise resource planning) and CRM (customer relationship management) packages often use amiddleware layer, which accounts for the front-end modules (clients) communicating with a number of back-end databases (servers).

Advances in encryption and decryption technology make it safer to transfer sensitive data from server to client in encrypted form, where it will be decrypted. The latter can be done by the hardware or by advanced software. This technology gives higher levels of data security, but the network security issues remain a major concern. Various technologies for data compression also help to transfer large amounts of data from servers to clients over wired and wireless networks.

 

The document Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE) is a part of Computer Science Engineering (CSE) category.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)

Top Courses for Computer Science Engineering (CSE)

FAQs on Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE)

1. What is a centralized architecture for Database Management Systems (DBMS)?
Ans. In a centralized architecture for DBMS, all the data and processing power are located in a single central server. This server manages and controls the entire database system, including data storage, retrieval, and processing. Clients connect to the central server to access the database and perform various operations.
2. What are the advantages of a centralized architecture for DBMS?
Ans. The advantages of a centralized architecture for DBMS include: - Simplified management and administration: With all the data and processing power in one central server, it is easier to manage and administer the database system. - Improved data consistency: Since all data is stored and processed in a central server, it is easier to maintain data consistency and integrity. - Enhanced security: Centralized architectures allow for better control over access to the database, making it easier to implement security measures and protect sensitive data. - Efficient resource utilization: Resources such as storage and processing power can be utilized more efficiently in a centralized architecture, as they can be centralized and shared among multiple clients.
3. What is a client/server architecture for DBMS?
Ans. In a client/server architecture for DBMS, the data and processing power are distributed between multiple servers and clients. Clients are responsible for the presentation layer and user interaction, while servers handle data storage, retrieval, and processing. Clients connect to the servers over a network to access the database and perform operations.
4. What are the advantages of a client/server architecture for DBMS?
Ans. The advantages of a client/server architecture for DBMS include: - Scalability: Client/server architectures allow for scalability, as the database system can be easily expanded by adding more servers to handle increased workload and data storage. - Improved performance: Distributing the processing power among multiple servers can improve the overall performance of the database system, as tasks can be parallelized and executed concurrently. - Flexibility: Client/server architectures offer more flexibility in terms of client devices and operating systems, as clients can connect to the servers from various platforms and locations. - Fault tolerance: By distributing data and processing across multiple servers, client/server architectures provide better fault tolerance. If one server fails, others can continue to serve clients. - Enhanced data access: Clients can access the database from remote locations, making it easier to support distributed teams or users located in different geographical areas.
5. What factors should be considered when choosing between a centralized and client/server architecture for DBMS?
Ans. When choosing between a centralized and client/server architecture for DBMS, several factors should be considered, including: - Scalability requirements: If the database system needs to handle a large amount of data or a growing number of users, a client/server architecture may be more suitable. - Performance needs: If the database system requires high performance and the workload can be parallelized, a client/server architecture with distributed processing can provide better performance. - Security and control: If strict control over data access and security is crucial, a centralized architecture may be preferred, as it allows for centralized security measures and control. - Network infrastructure: The quality and reliability of the network infrastructure should be considered when choosing a client/server architecture, as it heavily relies on network connectivity. - Cost considerations: The initial investment and ongoing maintenance costs should be evaluated for both architectures, as they can vary based on the specific requirements and infrastructure needed.
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

video lectures

,

practice quizzes

,

Viva Questions

,

pdf

,

Sample Paper

,

Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE)

,

Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE)

,

Extra Questions

,

Exam

,

past year papers

,

shortcuts and tricks

,

ppt

,

Semester Notes

,

Previous Year Questions with Solutions

,

Centralized and Client/Server Architectures for DBMSS - Computer Science Engineering (CSE)

,

Summary

,

Objective type Questions

,

mock tests for examination

,

MCQs

,

Free

,

study material

,

Important questions

;