Introduction to Advanced Databases .pptx

Sisodetrupti 436 views 22 slides Jul 22, 2024
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

Introduction to Advanced Databases


Slide Content

Introduction to Advanced Databases By Trupti Sisode.

Database System Architectures Database system architectures refer to the design and structure of a database management system (DBMS). These architectures dictate how data is stored, accessed, and managed, and they can vary widely depending on the requirements of the system. Types of DBMS Architecture There are several types of DBMS Architecture that we use according to the usage requirements. Types of DBMS Architecture are discussed here. 1-Tier Architecture 2-Tier Architecture 3-Tier Architecture

1-Tier Architecture In 1-Tier Architecture the database is directly available to the user, the user can directly sit on the DBMS and use it that is, the client, server, and Database are all present on the same machine. For Example: to learn SQL we set up an SQL server and the database on the local system. This enables us to directly interact with the relational database and execute operations. The industry won’t use this architecture they logically go for 2-tier and 3-tier Architecture.

Advantages of 1-Tier Architecture Simple Architecture:  1-Tier Architecture is the most simple architecture to set up, as only a single machine is required to maintain it. Cost-Effective:  No additional hardware is required for implementing 1-Tier Architecture, which makes it cost-effective. Easy to Implement:  1-Tier Architecture can be easily deployed, and hence it is mostly used in small projects. 

2-Tier Architecture 2-Tier Architecture, also known as client-server architecture, is a more advanced database system architecture compared to 1-Tier Architecture. In this model, the system is divided into two main layers: the client layer and the server layer. This separation helps improve performance, scalability, and manageability. Characteristics: Client Layer: The client layer consists of the user interface and the application logic. This layer is responsible for presenting data to the user and accepting user input. The client communicates with the server to perform data operations. Server Layer: The server layer hosts the database management system (DBMS) and the database. This layer is responsible for processing client requests, executing database queries, and returning results to the client. The server handles data storage, retrieval, and management tasks.

Advantages of 2-Tier Architecture Easy to Access:  2-Tier Architecture makes easy access to the database, which makes fast retrieval. Scalable:  We can scale the database easily, by adding clients or upgrading hardware. Low Cost:  2-Tier Architecture is cheaper than 3-Tier Architecture and  Multi-Tier Architecture . Easy Deployment:  2-Tier Architecture is easier to deploy than 3-Tier Architecture. Simple:  2-Tier Architecture is easily understandable as well as simple because of only two components.

3-Tier Architecture 3-Tier Architecture is a more complex and widely used database system architecture compared to 2-Tier Architecture. It separates the components of a software application into three layers or tiers: the presentation layer (client), the application layer (server), and the data layer (database). This separation enhances scalability, flexibility, and maintainability of the system. Here's an in-depth look at 3-Tier Architecture:

Components: Presentation Layer (Client): This is the topmost layer that interacts directly with the end-users. It includes user interfaces (UI), such as web browsers, desktop applications, or mobile apps. Responsible for presenting information to users and capturing user inputs. Application Layer (Server): Often referred to as the middle tier or business logic tier. Contains the application server or web server that processes business logic and application functionalities. Communicates between the presentation layer and the data layer. Handles tasks like data validation, business rules processing, and session management. Data Layer (Database): This is the bottommost layer that stores data and manages data access. Includes the database management system (DBMS) and the actual database where data is stored persistently. Responsible for data storage, retrieval, and manipulation based on requests from the application layer.

Advantages of 3-Tier Architecture Modularity and Maintainability: Each tier (presentation, application, and data) is separated, making it easier to update, maintain, and modify individual components without affecting the others. This modular structure simplifies development and enhances the overall maintainability of the system. Scalability: The architecture supports scalability by allowing each tier to be scaled independently based on demand. For example, if there's an increase in user traffic, additional application servers or database servers can be added without redesigning the entire system. Security: Security measures can be implemented at each tier to protect sensitive data and ensure secure access. Access to the database is controlled through the application server, reducing the risk of unauthorized access. Performance: Performance improvements can be targeted at specific tiers where bottlenecks occur. For example, caching mechanisms can be implemented in the application layer to reduce the number of database queries, thus improving overall system performance. Fault Isolation: Issues in one tier generally do not affect the functionality of other tiers. This fault isolation enhances the reliability and availability of the system, as failures or updates in one tier can be managed without disrupting the entire application.

Disadvantages of 3-Tier Architecture Complexity: Designing, implementing, and managing a 3-Tier Architecture can be more complex compared to simpler architectures like 2-Tier. Overhead: Communication between tiers can introduce latency and additional network overhead, impacting performance.

Centralized Architecture A centralized architecture for DBMS is one in which all data is stored on a single server, and all clients connect to that server in order to access and manipulate the data. This type of architecture is also known as a monolithic architecture. One of the main advantages of a centralized architecture is its simplicity - there is only one server to manage, and all clients use the same data. However, there are also some drawbacks to this type of architecture. One of the main downsides is that, because all data is stored on a single server, that server can become a bottleneck as the number of clients and/or the amount of data increases. Additionally, if the server goes down for any reason, all clients lose access to the data.

Centralized Architecture Banking Systems : Central servers handle transactions and store account data. Airline Reservation Systems : Centralized databases manage bookings and flight schedules.

Client-Server Model Client:   When we say the word  Client , it means to talk of a person or an organization using a particular service. Similarly in the digital world, a  Client  is a computer ( Host ) i.e. capable of receiving information or using a particular service from the service providers ( Servers ). A client is a computer or device that requests services or resources from a server. Clients are typically user devices like laptops, smartphones, or desktop computers. Servers:   Similarly, when we talk about the word  Servers , It means a person or medium that serves something. Similarly in this digital world, a  Server  is a remote computer that provides information (data) or access to particular services. A server is a powerful computer that provides services or resources to clients. Servers manage, store, and process data, responding to client requests

Client-Server Model

Client-Server Model Examples Web Browsing : Client: Web browser (e.g., Chrome). Server: Web server hosting the website. Example: Typing a URL and getting the website displayed. Email Services : Client : Email application (e.g., Gmail). Server : Email server. Example : Sending an email and receiving it in your inbox. Online Gaming : Client : Gaming console or PC. Server : Game server. Example : Playing a multiplayer online game.

Server System Architecture Server system architecture in computer networks refers to the design and organization of servers and their interaction with clients and other servers. Key Components Server Hardware : CPU : Powerful processors to handle multiple requests. RAM : Large memory for quick data access and processing. Storage : High-capacity and fast storage solutions like SSDs. Network Interface : High-speed network interfaces for fast communication. Server Software : Operating System : Server-specific OS (e.g., Windows Server, Linux). Applications : Server applications (e.g., web servers like Apache, database servers like MySQL). Network Infrastructure : Switches and Routers : Devices to manage and direct network traffic. Firewalls : Security devices to protect the server and network. Load Balancers : Distribute incoming network traffic across multiple servers.

Types of Server Architecture Single Server Architecture : Description : A single server handles all client requests and tasks. Use Case : Small businesses or applications with low traffic. Example : A local file server for a small office. Client-Server Architecture : Description : Multiple clients connect to a central server for resources and services. Use Case : Common in web applications, email services, and online games. Example : A website hosted on a web server accessed by many users.

Parallel Databases : Nowadays organizations need to handle a huge amount of data with a high transfer rate. For such requirements, the client-server or centralized system is not efficient. With the need to improve the efficiency of the system, the concept of the parallel database comes in picture. A parallel database system seeks to improve the performance of the system through parallelizing concept. Need : Multiple resources like CPUs and Disks are used in parallel. The operations are performed simultaneously, as opposed to serial processing. A parallel server can allow access to a single database by users on multiple machines. It also performs many parallelization operations like data loading, query processing, building indexes, and evaluating queries. Healthcare : Hospitals use parallel databases for quick access to patient records and medical data, improving patient care and operational efficiency. Research : Scientific institutions use parallel databases to analyze complex datasets and perform simulations for various research studies.

Advantages Performance Improvement –  By connecting multiple resources like CPU and disks in parallel we can significantly increase the performance of the system.   High availability –  In the parallel database, nodes have less contact with each other, so the failure of one node doesn’t cause for failure of the entire system. This amounts to significantly higher database availability.   Proper resource utilization –  Due to parallel execution, the CPU will never be idle. Thus, proper utilization of resources is there.   Increase Reliability –  When one site fails, the execution can continue with another available site which is having a copy of data. Making the system more reliable.

Distributed database A distributed database is like having a single, large database spread across many different computers or locations. Each computer stores part of the database, but to users, it looks and feels like one unified database. This setup is useful when many users around the world need to access the same information quickly and reliably. Online Retailers : Amazon uses distributed databases to store product information and manage orders across global regions. Social Media Networks : Facebook employs distributed databases for user profiles and posts to ensure fast access worldwide. Financial Services : Banks use distributed databases to handle customer accounts and transactions across branches.

Advantages Scalability : Easily scales by adding more nodes as data and workload increase. Fault Tolerance : Redundancy reduces risk of data loss or service disruption. Performance : Distributing data and workload reduces network congestion and speeds up access. Geographic Distribution : Supports global operations with data closer to users, reducing latency.

Assignment: What is DBMS Architecture and its types? what is client server architecture with Diagram? Difference between centralize database and distributed database. what is client server architecture with diagram explain. what is server System architecture , explain. What are adv and dis adv of parallel sys. Architecture. What are adv and dis adv of Distributed sys. Architecture. Difference between parallel database and distributed database.