2.1.1 客户端/服务器软件
DBMS有两个分支:一类是基于共享文件系统的DBMS,另一类是基于客户端/服务器的DBMS。前者(包括产品如Microsoft Access和File Maker)适用于桌面应用,并且一般不用来进行较高端或者更严苛的应用(包括网站和基于网站的应用)。
数据库(如MariaDB、MySQL、Oracle、Microsoft SQL Server)是基于客户端/服务器的数据库。客户端/服务器应用分为两部分。服务器部分是负责数据访问和操作的软件,该软件运行在称为数据库服务器(database server)的计算机上。
负责与数据文件进行交互的只有服务器软件。所有对数据的请求,数据的增、删、改都得通过服务器软件执行。这些请求和更改来自运行客户端软件的计算机。客户端部分是用来与用户交互的软件。例如,如果你请求按字母顺序列出产品列表,客户端软件通过网络将请求提交给服务器软件。服务器软件处理请求,根据需要对数据进行过滤、丢弃、排序。然后将结果发回给客户端软件。
注意
有多少计算机? 客户端和服务器软件可能安装在两台或一台计算机上。不管在不在同一台机器上,都要通过客户端软件和服务器软件才能进行数据库交互。
所有发生的这些活动对用户来说是透明的。数据存储在哪儿,或者数据库服务器自动完成处理操作这个事实,对你都是隐藏起来的。你永远不需要直接访问数据文件。实际上,许多网络的设置就是为了防止用户访问数据,甚至访问存储数据的驱动器。
这样做有什么意义?因为为了使用MariaDB,需要同时访问运行MariaDB服务器软件的计算机,以及发布命令到MariaDB的运行客户端软件的计算机。
·服务器软件是MariaDB DBMS。可以运行一个本地安装的软件副本,或者连接到一个拥有访问权限的远程服务器的副本。
·客户端可以是MariaDB提供的工具、MySQL工具、脚本语言(如Perl)、Web应用开发语言(如ASP、ColdFusion、JSP、PHP)、编程语言(如C、C++、Java)等。