【发布时间】:2023-03-20 17:53:01
【问题描述】:
我真的很想知道什么是 DBMS、硬件、软件和架构方面的客户端/服务器。
客户端/服务器技术和文件处理系统有什么区别。
【问题讨论】:
标签: mysql database client-server
我真的很想知道什么是 DBMS、硬件、软件和架构方面的客户端/服务器。
客户端/服务器技术和文件处理系统有什么区别。
【问题讨论】:
标签: mysql database client-server
客户端和服务器是两个独立的实体——硬件和/或软件。客户提出问题;服务器坐在那里等待问题并提供答案。
“独立实体”是为了强调它们在逻辑上是独立的,即使您可以将它们放在相同的硬件上。
在数据库中,客户端说“SELECT ...”;服务器说“这是该查询的结果集”。或者它可能会说“没有满足该查询的数据库行”。或者客户说“请插入...”;服务器说“好的,完成了”。请注意,在后一个示例中,“结果”更多的是“确认”。
数据库客户端可以(但不一定)作为数据库服务器位于单独的物理计算机上。
【讨论】:
术语“客户端”和“服务器”对应于两个(或多个)软件组件(如家庭关系中的父子)在通信中的角色。
通常,具有数据和操作该数据的逻辑的软件组件称为服务器,因为它服务于数据和活动。连接到该服务器并与之通信并且不具有所有数据和逻辑的软件组件称为客户端,它通常是非常被动的。服务器和客户端不受硬件限制:您可以在您的工作机器上拥有一个 HTTP 服务器以及一个浏览器(一个 HTTP 客户端)。在现实生活中,您也将关注点分离应用于硬件:您拥有具有高响应硬件的大数据存储,专用于服务器软件组件,以及许多具有客户端软件组件连接到服务器。
这个概念可以应用于大多数软件系统,如数据库(服务器保存数据,客户端知道如何请求数据)、文档(HTTP-服务器拥有文档、管理它们,甚至可以包含逻辑组件,如 PHP脚本或应用程序,通常浏览器作为客户端)。服务器和客户端不是对立的。拥有一个应用服务器,如 SAP 系统,该服务器通常也是其他服务的客户端。应用程序逻辑通常与数据库分离,因此作为应用程序客户端的服务器的应用程序是(或拥有)数据库的客户端。 由于客户端/服务器视图是软件通信的分层划分,因此您也可以拥有具有同等权限的组件。一些分布式架构具有相互通信的相同组件,具有相同的能力和逻辑,并最终拥有全部或部分数据。
在软件的客户端-服务器分离中,两个组件可以位于相同的硬件上,但它们也可以通过网络进行通信并位于不同的硬件上。通常,服务器具有繁重的工作部分,因此您可以拥有许多只发送当前需要的数据和逻辑的请求的轻量级客户端。
但这一切都不是必须的。当一台计算机连接到另一台计算机并从中复制所有逻辑(程序)和数据,成为另一台服务器时,在复制所有这些信息的过程中,获取机器是客户端,而提供机器是服务器。
我不确定你所说的“文件处理系统”是什么意思。文件处理系统通常是一个软件组件,用于为您提供来自文件系统的数据。通常这是一个本地问题,文件系统在一个硬件上的硬盘上运行。但也有分布式存储,如 NAS(网络区域存储),您还可以在其中通过网络连接客户端和服务器组件。
所以总结一下,客户端/服务器架构的优势是什么:
【讨论】:
客户端/服务器系统的硬件组件
它主要有 3 种类型的客户端、网络和数据库服务器
客户端可能是个人电脑、笔记本电脑、手机、平板电脑。
网络是布线、通信线路、网卡、集线器、路由器、局域网、广域网。
服务器是具有足够处理速度、内部 RAM、磁盘存储等的计算机。
客户端/服务器系统的软件组件
它有两种类型的客户端和数据库服务器,应用软件运行在客户端,它通过 JDBC 和 ADO.net 等数据访问 API 使用通过 SQL 查询存储在服务器上的数据。
客户端/服务器系统的架构组件
主要使用2种Application Servers和Web Servers,业务组件存储在Application Server中。Web Servers用于存储Web Application的和Web Service的。
【讨论】: