A database is a collection of persistent and structured information that is used by specific applications. Together with the management system, it creates a database system. And while in general terms the principles of operation of all such solutions are similar, the architecture of the database system may be a factor that differentiates them. What exactly is this concept and what types of database system architecture can be mentioned?
Database system – what is it
A database system is defined as – a system for storing data organized in files. Its elements are:
- the data itself, which may have a different form and require standardization,
- hardware – computers and servers, where information is stored,
- database management and maintenance programs,
- language for communicating with the database,
- people and therefore the users of the database.
This term is often used interchangeably with a database management system. It is a system that allows you to perform and manage database operations.
Types of database system architecture
There are two perspectives on the database system architecture. The first is the ANSI / SPARC standard – generally describing the levels of the database system. The second is the communication architecture. Let’s look at both of these aspects.
Database system architecture according to ANSI / SPARC standard
This type was first proposed in 1975. Most of the databases used today are based on its principles. In this perspective, there are three levels of database system architecture.
- Internal level – otherwise known as the physical level, because it is related to the “physical” way of storing data and accessing it. In local databases, the entire set of information is stored on one computer. However, there are also cloud databases where information is stored in a distributed model, so on at least two (and usually more) physical devices.
- External level – is also referred to as the user level. It is important here how the data is presented to specific recipients. This level does not present redundant data and data to which the end user does not have the right to access.
- Conceptual level – this is an aspect related to the description of the database content as well as connections and relations between its individual elements.
Communication architecture of the database system
In this approach, it is about differentiating the way the database communicates with the client. It consists of a description of the elements that make up the database system, the way they are related, as well as the logic behind a particular way of organization. In this approach, the following are distinguished:
- single-tier architecture – it is one in which the program providing access to the database has direct contact with the user, and the system immediately makes all changes to the contents of the data set;
- two-tier architecture – in two-tier database systems, communication between the client and server with the data takes place via appropriate drivers. Establishing a connection is the server’s “responsibility”, while monitoring the correctness of the database operation is on the client’s side.
The two-layer architecture increases the security of the server and the data stored on it, and also relieves the central computer from operating the user interface. On the one hand, it can be used in combination with many technologies – it is quite universal. On the other hand, it means many administrative challenges, a lack of control over user activities and the risk that when the server crashes, there will be a complete lack of access to data.
In most cases, local databases are based on a single-tier model, while client-server databases are based on a two- or multi-tier model.
- three-tier architecture – it is a client-server architecture in which the user interface, data storage and data processing are separate modules. As a result, the communication between users and the database server is also located on the application server. It is him who makes inquiries (most often via a website), and the database communicates with him.
This type of database architecture makes it possible to make the presentation of data independent of how it is stored. This solution has many advantages because:
- gives the possibility of accessing the database using various end devices and applications – it increases both the possibilities of using the database and its practical application,
- it makes it possible to hide the physical implementation – it means that information which is of little significance to end users about the manner of data recording is not available to end customers. It makes a lot of sense because it increases the comfort of using the database system,
- allows you to make changes to the system without disturbing the use of the database – using this architecture, the administrator can change the hard drive without affecting the data structure in the database, as well as changing the concept of the database.
This means that the three-tier architecture is much more flexible and adapted to the requirements of modern software, dealing with an increasing amount of data. Its use also translates into easier scalability of the database system and the possibility of its modernization over time.
How does the client-server architecture work
In the case of database systems, the client-server architecture is most often used. In this model, one client can simultaneously use the services of many servers. And one server can be used by many users at the same time. This means the division of roles between the client and the server – so that they have other responsibilities. What exactly is the division of roles?
- the client is the party requesting access to the database – it is the client who actively sends the request to the server and waits for its response. It uses a dedicated interface. However, it has no influence on the connection to the server, protection of the data contained therein, or on its processing;
- on the server side there is connection establishment, data processing and protection. However, it plays a passive role – it provides a service on request (provides data processed in an appropriate manner).
Communication protocols are precisely described and adapted to the specifics of a particular database.
What database system architecture is the best solution
Two-tier or three-tier architecture? This is a question that has no clear-cut answer. Just as there are different types of databases or systems to manage them, their architectures have their advantages and disadvantages. The key is to match the right solution to the planned application. When choosing the architecture, it is worth paying attention to the scope of data to be covered by the database, the number of its users, as well as the degree of involvement of operations that will be performed on the set or the method of access to data. The needs related to the creation of a cloud-based database are different, and the needs related to the creation of a simple and small relational local database.
The chosen database architecture will not only depend on the way it is handled. It also affects the speed of processed information, its security, as well as other aspects of the database management system. It is good to discuss the planned solution with experts and make an informed decision together with them.
Do you have any questions or are you looking for the perfect solution for your company?
Schedule a free consultation. Consult your company needs with our experts. Learn about solutions that will help your company improve business processes and ensure data security.