In database architectures nowadays database professionals have many options deciding which architectures to employ to suit the various needs of their employers or clients. This research report will give you an overview of the different levels of database architectures, and will look into the some benefits of each.
Four levels of database architectures can be classified:
Enterprise - enterprise architectures are large scale Database Management System (DBMS), these systems are capable of supporting large numbers of users concurrently they run on a mainframe or high-end servers, and they offer a wide range of extras compared to other architectures.
Departmental DBMS - these support small to medium size businesses, and run on a Linux or Windows Servers. Because of the lower costs of hardware and software at this level it can scale up to enterprise level.
Personal DBMS - This architecture suit a single user. It runs on your ordinary everyday PC or laptop which makes it low in cost, and very flexible. MS Access is an example of this architecture.
Mobile DBMS - this is a specialized version of a departmental/enterprise DBMS. It is designed for remote users that are not usually connected to a network. For example user/employer might want to access or update data from the database remotely. The mobile database allows this to happen.
Database architectures can be recognized by looking at the way application logic is shared out throughout the system. Application logic consists of three components: presentation logic, processing logic, and storage logic.
Presentation logic component is responsible for formatting and presenting data on the user's screen, processing logic component handles data processing, business rules, and data management. Storage logic component is responsible for the storage and retrieval from devices such as the hard drive or RAM.
By determining which tier/tiers these components are processed on we can get an idea of the type of architecture we are dealing with.
Imagine a user/employee on a desktop computer using MS Access to store personal data, ie. addresses or phone numbers that are saved in MS Windows' "My Documents" folder. This is an example of one-tier database architecture. The program (MS Access) runs on the user/employees local machine, and references a file that is on the machine's hard drive, thus using a single physical resource to access and process information.
One-Tier architectures can be useful when dealing with data that is refers to a single user (or small number of users), and when we are working with a small amount of data. They are also cheap and easy to maintain.
Two-Tier Client/Server Architecture
Two-Tier architectures are popular in many of today's computer users. An example of this type of system would be a Microsoft Windows based client program that accesses a server database such as Oracle or MySql Server. Users would interact through a GUI to communicate with the database server across a network through SQL queries.
Another example of Two-Tier architecture would be seen in web-based database applications. In this example, users interact with the database through applications that are on a web-server, and displayed through a web-browser. eg. Internet Explorer. The web server processes the web application, which can be written in different scripting languages eg. PHP or ASP. The web application connects to the database server, and it then passes Sql queries which are then used to access the data. The database server then passes back the data which is then formatted by the web server for the user. This system would be used on nearly all websites.
Two-Tier architectures are useful when we have a small number of users on the system (100-150) and we want an increased level of scalability.
N-Tier Client/Server Architecture
N-Tier database architectures exist in a Three-Tier configuration. In this design the client/server model expands to include another tier (eg. business tier), which is an application server that houses the business logic. This extra tier relieves the client application and the database server of some of their duties by changing client calls into database queries and translating data from the database into client data in return. This means the server and client never talk directly to each other.
Because the extra tier in Three-Tier architecture holds the business logic, this increases scalability and isolation of the business logic, and adds flexibility in the choice of database vendors.
Businesses using this method all the data is stored on a centralized machine normally a mainframe, and users run predefined applications which have access to this machine.
This is useful if large amounts of data is updated regularly, or if users have the rights to access the data equally.
Businesses using this method utilize multiple machines to fulfill requests. These machines are networked together and are capable of allocating tasks to different computers.
This method is useful if certain parts of the company only need to access particular data, so different machines can look after different parts of company/organization.
On complication of this research report I had a good understanding of the different database architectures what they involve, and which systems suited certain environments.