Velocis Beta-3.0 数据库服务器

作者:Avygdor Moise
Velocis Beta-3.0 Database Server
  • 制造商:Centura Software (Raima Corporation)

  • 电子邮件:sales@raima.com

  • 网址: http://www.birdstep.com/

  • 价格:$7,695 (八用户)

  • 评测人:Avygdor Moise

在向您介绍 Velocis 之前,请允许我先介绍一下我们公司的系统以及我们为何需要数据库服务器。Itres Research Limited 是一家紧凑型机载光谱成像仪 (casi) 的开发商,casi 是一种多光谱成像仪器,它将卫星地理定位系统 (GPS) 的精密性与航空摄影的实用性相结合。casi 在全球范围内应用于各种应用,并以其高精度和使用灵活性而著称。casi 是一种用户可编程的全数字系统,易于安装在轻型飞机上。它在光谱的可见光和近红外范围内工作。这使其成为林业、农业、环境监测、土地利用规划和水纯度应用的理想相机。它被广泛认为是遥感领域的一项宝贵工具。

casi 仪器更重要的功能之一是它能够从场景生成绝对辐射值。简单来说,它不仅可以生成彩色照片,还可以告诉您场景的绝对光谱特征。鉴于大多数植物、矿物质和其他陆地物体都表现出不同的光谱特征,因此可以对拍摄场景中存在的植被和矿物质类型进行分类,包括密度、健康状况和浓度的估计。

我们的问题

精度并非没有代价。收集的数据必须经过多个处理步骤,包括辐射校正校准、地理校正(将每个图像像素投影到唯一的地球坐标)、镶嵌(将所有图像条拼接成单张照片)和分析(图像的解译和数据产品的创建)。

在使用数据之前,必须获取有关用于采集图像的 casi 传感器(相机)的详细信息(例如,上次校准时间、最新校准文件的位置等)以及相关的飞行记录。

当数据处理完成并生成最终报告后,也非常希望能够审查用于处理数据的参数和工具。这是质量保证计划不可或缺且必要的一部分。

数据库来救援(并没有)

Itres 的处理能力主要基于 Red Hat Linux 5.2 和 6.0。有多个处理站,每个站都配备了双处理器(每个 CPU 400MHz),并且每个站都连接到 100Mbps LAN(局域网)。工作站的访问由个人计算机提供,这些计算机(不幸的是)运行 Windows 95。图形服务通过 xwin32(用于 Win32 的 X-Windows 服务器)结合 Samba 文件访问提供。

所有 Windows 95 用户必须能够访问 Microsoft Office Suite 97,主要用于编辑他们的邮件。 这导致了一个不幸的副作用,即 MS Access(Microsoft 数据库引擎)的可用性。 对信息处理的数据库解决方案的需求如此之大,以至于许多用户创建了私有的 MS Access 数据库,其中包含重要的处理相关信息和产品库存信息。 有一个存储需求数据库、组件库存数据库、客户联系数据库、在线帮助数据库、飞行计划信息数据库,等等。 不幸的是,这些数据库位于个人计算机上,并且不易在用户之间共享。 我们试图将数据移动到运行 Linux 的主服务器,但基本上出于两个原因遇到了阻力

  • MS Access 数据库前端的吸引力、有效性和易用性。

  • 普通用户对 UNIX 不感兴趣。

因此,我们寻找解决方案,使普通用户能够像以前一样使用 MS Access 访问他们的数据库,同时利用 Linux 作为有效的文件服务器的功能。

Velocis 数据库引擎

我们对数据库服务器有一些最低要求,而 Raima Corporation(现在的 Centura Software)的 Velocis 数据库服务器 3.0 满足了所有这些要求。 Velocis 满足我们要求的关键特性如下

  • Velocis 应用程序服务器架构支持多种网络通信协议,包括 RPC(远程过程调用)和 ODBC。

  • Velocis 应用程序可以启动和管理自己的线程(从 beta 3.0 版本开始),每个线程控制一个或多个 Velocis “登录”会话。

  • Velocis 客户端程序包含在内,使第三方 ODBC 数据库工具能够访问 Velocis 数据库。

  • Velocis 既可以作为客户端也可以作为服务器用于 AIX、Linux、Solaris、BSDI、HPUX、Win95/98 和 WinNT。

  • Velocis 支持 SQL 89 和 SQL 92 的子集。

  • 它附带一套全面的印刷手册(以及 CD-ROM 上的 PDF 版本),包括用户指南、安装/管理指南、参考库和语言参考(SQL 和 Native)。

  • Velocis 支持多种数据库模型:关系型、网络型和分层型以及三者的组合(这也是 Velocis 内部的运行方式)。

  • Velocis 是一款许可产品,通过 CD-ROM 或从 Centura 的网站下载分发。 许可证的成本与支持的并发会话数成正比。 没有许可证,它将在 60 天内最多支持八个会话。 在演示期间,Velocis 功能齐全。

  • Velocis 是一款受支持的产品,需要付费。 该支持包括产品更新和咨询服务,以支持有限的 API 开发和产品集成。

安装

Velocis 在 CD 上分发,安装后约占 10MB。 Linux(或 UNIX)安装通过几个简单的步骤完成

  • 挂载 CD。

  • 将适用于您的操作系统的相应压缩 tar 文件(例如,Red Hat Linux 6.0)提取到选择的目录中(例如,/opt/velocis3.0)。

  • 运行提供的安装脚本。

  • 将配置 shell 脚本复制到所需的位置(~/.cshrc、~/.profiles 或 /etc/profile.d)。

  • 修改某些初始化文件(例如,/catalog/velocis.ini 和 /bin/connect.ini)以设置主机访问标识。

Windows 95/98 或 NT 上的安装类似,只是使用了 winzip 和 install shield 安装程序。

启动 Velocis

Centura Software 提供了许多工具(大多数工具在“examples”目录中以 C 源代码形式提供)来调用、管理和与 Velocis 数据库引擎通信。 除了管理工具(Windows 下的 admin.exe 和 UNIX 下的 rdsadm)之外,所有工具都可在所有平台上使用。 最值得注意的工具是

  • rds:velocis 数据库服务器,作为守护进程启动。

  • vping:一种有效的 ping 工具。 可用于测试与 rds 的套接字连接。

  • rdsadm (Linux) 和 admin.exe (Windows):用于创建数据库和用户访问管理的命令行界面和图形用户界面(分别是)。 此外,它还负责管理存档和恢复过程。

  • rsql:一个简单的命令行驱动界面,使用户能够建立一个或多个会话,连接到一个或多个数据库,并交互式地执行 SQL 命令。

  • sddlp:Velocis SQL 模式编译器实用程序。

  • ddlproc:Velocis 非 SQL 模式编译器实用程序。

启动 Velocis 所需的步骤如下

  • 在 Velocis 根目录中(以超级用户身份)执行安装脚本。

  • 配置位于 bin 和 catalog 目录中的 connect.ini 和 velocis.ini 文件。 此步骤至关重要,因为它建立了数据库服务器名称(别名)、套接字和 Internet 上计算机之间的链接。

  • 执行位于 Velocis 根目录中的 rdshome.shrdshome.csh 脚本。

  • 启动(以超级用户身份)rds 应用程序服务器。

  • 启动 rdsadm (UNIX) 或 admin.exe (Windows) 以设置您的数据库。 任何用户都可以启动 rdsadm;但是,该工具受密码保护。

虽然上述步骤执行起来相当简单,但它们假定用户对 Linux 和网络有一定的了解。 如果 Centura Software 使用 RPM 打包该软件包,那就太好了。 如果他们自动执行脚本的安装并提供 System V 等效的 Velocis init 脚本(具有启动、停止和重启功能),那就更好了。
运行数据库应用程序

如果您已达到此步骤,那么您就可以开始工作了。 但是,重要的是要注意 Velocis 是一种双模式数据库服务器。 由于它在内部作为混合关系模型(网络和分层数据库引擎)运行,因此在创建数据库时必须小心。 支持两种数据库结构:用于非 SQL 应用程序的数据库模式(也称为 native)和用于 SQL 应用程序的数据库模式。

SQL 和非 SQL 数据库都是通过在文本文件中定义模式来创建的,SQL 数据库使用实用程序 sddlp 编译,非 SQL 数据库使用 ddlproc 编译。 数据库模型在设计时实现。 有趣的是,网络数据库模型可以使用 SQL 数据库定义语言 (DDL) 在数据库设计中实现。 这是通过使用 Velocis 的 CREATE JOIN 语句在选定 SQL 表的主键和外键上创建永久的、基于指针的连接来完成的。 这通过消除表之间运行时对索引的需求来提高性能。 使用 SQL DDL 或非 SQL(基于 C 的)DDL 实现网络、关系型或组合网络/关系型数据库模型的能力是 Velocis 的一个独特功能。 更增加了灵活性,SQL API 和记录级 C-API 都可以嵌入到应用程序中,并用于与使用任一 DDL 创建的数据库进行交互。

数据库在编译时注册,方法是在命令行中添加参数或通过 rdsadm(或 admin.exe)工具注册。 添加或删除用户时也会调用这些实用程序。

Itres 应用程序

如前所述,我们希望数据库引擎具有 C API 接口(用于精确的、记录级的数据库访问),并支持 SQL 和 ODBC 行业标准。 Itres 数据库在 Linux 下运行,它是 intranet 数据库服务器。 服务器监听来自 Windows 95/98 和 NT 的 ODBC 通信请求,并允许某些个人在 Windows 下运行 admin.exe。 是的,我承认我这样做过,但 Windows 管理 API 比命令行驱动的 Linux 版本好得多。 提供 ODBC 接口主要是为了使 Microsoft Access 用户能够访问数据库,而无需屈服于 Linux。

为了与 Velocis SQL 引擎接口,我们开发了一个基于 VBA(Visual Basic for Application)的 Microsoft Access 数据库转换应用程序。 此工具可以读取任何 Microsoft Access 97 数据库的表结构和数据内容,并生成用于传输目的的 ANSI SQL 文本文件。

任何 SQL 兼容的数据库引擎,例如 Velocis,都可以读取 SQL 文本文件并从 Microsoft Access 数据库导入其内容。 基于 Microsoft Access 的 Itres 库存数据库已成功传输到 Velocis。

还考虑到 intranet 用户应该可以访问(或查看)数据库。 显而易见的查看工具是 Web 浏览器。 为此,我们使用 Tcl(Scriptics Corporation 的 Tool Command Language)编写了 CGI(通用网关接口)脚本。 Tcl 被扩展为一个动态加载库,使用 Velocis 广泛的 native C API,以提供使用 SQL 访问数据库的功能。 这些功能主要利用了在 Velocis 示例目录中找到的 rsql 的示例源代码。 从那时起,工作重点从与 Velocis 的 API 集成转移到使用 SQL 的数据库设计项目,这才是我们最初的目标。

结论

简而言之,Velocis 实现了我们对其的所有期望:可靠的运行、计算平台之间的互操作性、支持复杂操作和多线程的强大的 C API、基于标准的 ANSI SQL 解释器以及可靠的存档和恢复工具。 最重要的是,Centura Software 提供商业环境中运营所需的客户支持(收费)。

我们可以(并且实际上正在)使用 PostgreSQL 在许多计算机上进行 SQL 代码原型设计,但是当涉及到关键代码时,我们更喜欢使用受支持的工具。 这种偏好也推动了我们选择 Red Hat Linux 作为服务器平台。

Velocis 并非完美,并且似乎确实存在一些潜在的粗糙之处(在安装区域和启动方面),但是一旦配置和运行,它就可以平稳运行而没有任何问题。

[编者注:公司已更名为 Birdstep Technology,Velocsis 已更名为 Birdstep RDM server 3.5。]

VAST

Velocis Beta-3.0 Database Server
Avygdor Moise (avy@itres.com) 获得了实验空间科学博士学位,并在微型计算机技术、操作系统设计和实时系统应用开发方面拥有丰富的经验。 他拥有丰富的 Linux、UNIX 和 Win32 实践知识。 他是 Future DOS Research and Development Inc. 的总裁兼 Itres 的研究副总裁。 他是一位独立顾问,为大公司和小公司提供网络设计和实施以及 Linux 方面的服务。
加载 Disqus 评论