SQL Anywhere 数据库服务器的内部结构有助于高效地处理多个请求。
通信层负责与客户端应用程序进行数据交换。此通信层接收来自客户端应用程序的请求,并返回结果。执行这些操作的时机由客户端与服务器之间的协商来控制,从而确保最大限度地降低网络通信量,同时又能够使客户端尽快获得数据。
分析程序检查发送给数据库服务器的每一 SQL 语句,并将它转换为可供处理的内部格式。
如果请求是查询、更新或删除语句,会有多种不同的数据访问方法,这些方法在所用时间上可能存在很大的差异。优化程序会选择可以迅速获得所需数据的最佳方法。
数据库服务器的最低级别涉及:读取来自磁盘的数据和将数据写入磁盘,将数据存入内存中以避免不必要的磁盘访问,以及平衡不同用户的要求。
SQL Anywhere 数据库服务器有两种版本:个人服务器和网络服务器。
这两种版本的请求处理引擎是相同的,所支持的 SQL 语言和数据库功能也是完全相同的。但是,个人服务器不支持跨网络的通信,不支持多于十个的并行连接,也不支持使用多台计算机。针对个人服务器开发的应用程序在网络服务器上使用也不会有什么不同。两者在其它方面的差异如下:
个人服务器只能接受来自本机上应用程序或用户的连接,适于单用户、单机环境:例如,用作嵌入式数据库服务器。它还适用于开发工作。
个人服务器可执行文件的文件名如下:
在 Windows 上,文件名为 dbeng11.exe。(在 Windows Mobile 上不提供。)
在 Unix 操作系统上,文件名为 dbeng11。
相反,网络服务器支持通过网络进行客户端/服务器通信,适用于多用户环境。
网络服务器可执行文件的文件名如下:
在 Windows 上(包括 Windows Mobile),文件名为 dbsrv11.exe。网络服务器可以用于 Windows Mobile 环境,这样台式机应用程序就能够连接移动设备上的数据库。
在 Unix 操作系统上,文件名为 dbsrv11。
如果您收到的 SQL Anywhere 是其它产品所附带的组件,则可能无法同时获得这两个版本的数据库服务器。同样,并非所有组件都能在所有操作系统上使用。例如,对于 Windows Mobile,没有提供个人服务器,而只提供网络服务器。
有关运行个人数据库服务器和网络数据库服务器的详细信息,请参见运行数据库服务器。
如果要为小型设备(如手持式管理器)提供数据库应用程序,则最好使用 UltraLite。在 UltraLite 中,服务器所执行的功能通常放在运行时库中。运行时库与应用程序组合在一起,成为同一个进程的一部分。因此,数据库和应用程序之间存在一对一关系。
对于要求将多个应用程序并行连接到同一台设备上的一个数据库的部署,运行时库则必须作为单独的进程存在。在这些情况下,会使用 UltraLite 数据库引擎。
UltraLite 具有内置的 MobiLink 同步技术,因此应用程序可以链接到信息网络中。
有关 UltraLite 与 MobiLink 集成的信息,请参见UltraLite 客户端。
UltraLite 支持许多操作系统,请参见UltraLite 简介。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |