written 8.4 years ago by
teamques10
★ 68k
|
•
modified 8.4 years ago
|
The architecture of a database system is greatly influenced by the underlying computer system on which it runs, in particular by concepts like networking, parallelism, and distribution.
Database system architecture can be broadly classified into:
Centralized Systems
- Centralized database systems are based on single central computer system and do not interact with other computer systems.
- Centralized computer system consists of one or more CPUs and a number of device controllers that are connected through a common bus that provides access to shared memory.
- The CPUs have local cache memories that store local copies of parts of the memory, to speed up access to data.
- Each device controller is in charge of a specific type of device.
Client-Server Systems
- A client-Server system consists of client computers which send requests to servers and get back response in return.
- Database functionality in such systems can be broadly divided into two parts - the front end and the back end.
- The front end of a database system consists of tools such as forms, report writers, and graphical user interface facilities. The back end manages access structures, query evaluation and optimization, concurrency control, and recovery. The interface between the front end and the back end is through SQL, or through an application program.
Server System Architectures
a. Transaction-server systems
- Client machines ship transactions to the server systems, where those transactions are executed, and results are shipped back to clients that are in charge of displaying the data.
Requests may be specified by using SQL, or through a specialized application program interface.
b. Data-server systems
- These systems allow clients to interact with the servers by making requests to read or update data. For example, file servers provide a file-system interface where clients can create, read, update and delete files.
Also provide indexing facilities for data and maintains consistency of the client machines.
Parallel Systems
Parallel systems improve processing and I/O speeds by using multiple CPUs and disks in parallel. The driving force behind parallel database systems is the demand of applications to query extremely large databases.
a. Interconnection Networks
- Parallel systems consist of a set of components (processors, memory, and disks) that can communicate with each other via an interconnection network. Below are three commonly used types of interconnection networks:
b. Parallel Database Architectures
- Techniques used to speed up transaction processing on data-server systems, suchas data and lock caching and lock de-escalation.
There are several architectural models for parallel machines. Among the most prominent ones are:
i. Shared memory
ii. Shared Disk
iii. Shared Nothing
iv. Hierarchical
.
- Distributed Systems
- In a distributed database system, the database is stored on several computers.
- The computers in a distributed system communicate with one another through various communication media, such as high-speed networks or telephone lines. They do not share main memory or disks. The computers in a distributed system may vary in size and function, ranging from workstations up to mainframe systems.
- The main differences between shared-nothing parallel databases and distributed databases are that distributed databases are typically geographically separated, are separately administered, and have a slower interconnection.