有多种方法可以获取存储在数据库管理系统中的数据。我们根据其结构对DBMS的架构进行了分类。
在本文中,我将讨论它们的结构、优点、功能等;不同的体系结构则用于不同的目的。
DBMS 中的体系结构概述
了解2层和3层架构是一个非常重要的话题,不仅对于学者或寻求一份好工作,而且对于与技术相关的一般意识也是如此。我们将利用现实生活中的例子帮助大家看到这种差异。
DBMS 中的 2 层体系结构
DBMS 中有2层,一层是数据库服务器层,用于存储数据。另一个是客户端层,它基本上是一台机器,它在数据库服务器上运行查询并获取所需的数据。客户端计算机具有向用户显示所需数据的界面。
可以使用客户端计算机中的 API 提取来自数据库服务器的数据。此外,API代表应用程序编程接口。
API的目的是在预定义的时间间隔内从数据库服务器获取数据,并将其用于各种目的。例如,有各种应用程序显示火车的实时位置,或者在使用Ola和Uber等出租车服务时,他们使用谷歌地图API,他们肯定会向谷歌支付一些费用。他们使用该API跟踪送货员或驾驶室,并将其显示给您。在这里,您还可以观察到,使用API获取数据之间的时间间隔非常短,因为我们想要获得驾驶室的确切位置。尽管如此,在定位列车时,我们不需要这种高精度,以便我们可以降低使用API获取数据的频率。
API首先建立连接,然后在接口上编写查询。一个简单的查询意味着,我想获取一个特定的数据,然后查询将转到数据库服务器,这个服务器将处理该查询,这意味着我们编写了一个应用程序,一个应用程序意味着我想获取一个特定的数据,并且该程序可以用任何语言。例如简单的示例:如果我用Java编写,然后该应用程序将进入数据库服务器,在那里它将首先转换为低级语言,因为该应用程序可以用任何其他语言,在高级语言中,我们将在这里转换它,这意味着服务器将对它进行转换处理。并且该查询中需要的任何数据都将被返回给客户端。这就是 2 层体系结构的实际工作原理。2 层也称为客户端-服务器体系结构。
我们已经看到在日常生活中使用2层架构,就像我们在铁路上预订车票一样,而不是通过网络和其他应用程序。但是,如果我去车站填写表格并预订车票,那么坐在窗口那边的人,有一台客户端计算机,在那台客户端计算机上,他们将填写信息。他们将从数据库服务器调用该列车的详细信息,以了解有多少座位可用;据此,无论流程是什么,他们都会处理它并制作一张票。
这种架构的优点是它非常简单,因为只有2层;维护非常容易,因为有有限和授权的银行员工,并且有一个有限的数据库。
DBMS 中的 3 层体系结构
但如今,每家银行和其他组织都希望发展并拥有更多用户,用更少的资源管理他们,并提供24 X 7全天候服务。它们允许用户使用Web或移动应用程序执行所有查询。对于数据库服务器来说,处理从高级语言到低级语言的所有用户的查询是相当复杂的,并且在授权具有此安全性后进一步执行所有查询是另一个主要问题,因为用户可以直接访问数据库。
为了解决所有这些问题,我们使用Tier-3架构。在第 3 层体系结构中,在客户端和服务器之间引入了另一层。3 层架构意味着 3 层到达。首先是应用层,我们直接称之为客户端层;第二个是业务层,第三个是数据库或数据层。
首先,客户端层是相同的,这意味着在这里,所有的用户都是我的普通用户,就像我们也是普通用户一样;我们所有人,通过打开铁路的网站或应用程序,我们的机器被称为客户端计算机。现在有一个接口正在运行,可以帮助我们与数据库建立连接;接口是可以在Java,Python、PHP等中的应用程序。为了支持该语言或应用程序,有业务层,这意味着来自客户端计算机的查询在业务层处理,这减少了数据服务器上的负载。
我们发出的请求,即客户端计算机,首先进入应用层,该应用程序层对其进行验证,并将其从高级语言处理为低级语言,然后将简化的查询传递给数据库服务器。然后,服务器只需将数据回馈给应用层,并将数据从低级语言转换为高级语言后再将数据返回给客户端计算机。
应用层还避免了客户端计算机与数据库服务器的直接交互,从而提高了数据库服务器的安全性。
在引入第三层(即应用层)后,DBMS中的架构变得有点复杂但高效和安全。对于我们来说,维护第3层架构有点困难。尽管如此,当我们为这个用户群提供服务时,我们希望有良好的维护资源,因为它比第2层架构贵一点,但也算物有所值。
原文标题:2-Tier Architecture vs 3-Tier Architecture in DBMS
原文作者:Bikash Jain
原文地址:https://dzone.com/articles/2-tier-architecture-vs-3-tier-architecture-in-dbms