SAS_SHARE
经常我们使用不同的硬件平台,许多数据信息很难获得共享,尤其在企业组织里不同平台间的协调变的很困难。SAS_SHARE软件可以很好的应对这类问题。SAS_SHARE可以在不同的运行环境中容许数据的多组访问,我们也可以将数据发送给指定的多组用户,可以看出SAS_SHARE作为一个数据服务器,允许多个用户同时访问SAS文件。并可以与其他sas模块,如sas/connect 、SQL等模块协同完成工作。
1. SAS_SHARE服务器是数据和客户间的中心
通过许多不同的数据源服务客户,在此过程中SAS_SHARE服务器可能充当了服务中心的角色。例如,为了获得存储在ORACLE数据库里的数据,系统服务器必须使用SAS/ACCESS引擎。另一个例子是,服务器可以通过一个本地数据库引擎链接SAS数据集。如下同所示:
SAS_SHARE服务器的数据源
SAS_SHARE 服务器客户端
2. SAS_SHARE是一种多组用户数据服务器
SAS_SHARE软件是一个多组用户的数据服务器,可以连接本地客户、远程客户和其他客户的应用程序,可以实现,在同一时间内SAS_SHARE服务器使两个或更多的客户编写同样的应用程序文件(例如,一个数据集、目录、程序等等)。这个功能就是传统上所谓的同步更新访问过程。在不同场景中使用SAS_SHARE使多个客户端的会话更加便利和信息畅通。下面的列表包含一个示例操作, 在同一时间里多个客户端可以执行:
(1)当一个用户在数据图书馆创建一个程序, 在相同的库里其他用户也同样做出创建、读取、删除和更新成员的操作,这里主要是强调可以对同一个对象进行修改,而不需要将对象传输给对方,这样的确是大大提高效率。
(2) 在数据图书馆里当一个用户试图用SAS Explorer窗口进行浏览时,其他用户也可以打开了同一个窗口浏览、删除、编辑或重新命名成员。您还可以复制一个成员SAS Explorer窗口。
(3)当一个用户打开目录窗口(catalog window)目录, 在相同的目录其他用户也可以做打开目录窗口浏览、复制、删除、重命名条目的操作。
(4) 在编辑模式下,当有一个或更多的用户使用FSEDIT过程、FSVIEW过程、SQL过程中的UPDATE语句来更新数据集,其他用户也可以。但并不是所有语句都可以的。
(5)在数据步骤里进行更新SAS数据集,进行修改、删除或替换语句等工作,使用set语句读入sas数据集。
(6)在应用程序里使用APPEND或SQL过程进行添加和删除观测
(7)通过使用COPY或CATALOG过程复制或更新数据集到另一个库。
这些规则是SAS_SHARE语句自身的规则,也是其不完善的地方。其实SAS的很多模块间都体现了这样类似的过程,各模块自己的规则清晰,模块间的兼容基本都是有限度的,这也难怪,毕竟涉及的领域太广,能将这些领域统一成这个样子已经是奇迹了。
3. SAS_SHARE过程的安全性问题。
SAS_SHARE既然能实现远端客户的同步连接,这自然会涉及到安全性问题,这个过程信息会不会被不被容许的第三方截获?当然SAS_SHARE服务器支持同时应用程序的安全功能,以及额外的安全服务器操作,包括本地主机安全性和密码验证。
4.SAS_SHARE提供通往远程客户端的路径
在没有使用SAS /connect的情况下,多组用户组仍可以享受SAS_SHARE为远程客户端提供的共享数据的路径。假如有种情况,可能有一个客户端机器需要进行访问,这些访问需要通过一个中央服务器系统的机器。这时可以通过中央服务器机器使用SAS_SHARE连接远端客户,并创建一个远程会话平台。在这样的场景中,可能有一个客户端机器,需要进行访问,这个过程的效率还是比较高的,但涉及诸多客户端或大数据的情况下,那这个中央服务器的负载就会相应增加,效率会根据负载量的增加而大幅降低。为了缓解这类问题SAS_SHARE由于解决了与中央服务器存储性问题而使所花的时间更短,效率更高。
其实SAS_SHARE的很多功能即使使用SAS/CONNECT也是可以得到很好的解答,但在实际的经济生活中,尤其是在一些大型企业中,效率优先的理念使得SAS_SHARE软件确实还是有很大的市场和应用空间的。
5.SAS_SHARE语言
SAS_SHARE不但提供上述的基本过程的支持,如COPY或CATALOG、APPEND或SQL、FSEDIT过程、FSVIEW过程等等,还提供丰富的SAS宏程序过程。
例如:SHRMACS Macro、LIBDEF Macro、LISTLIB Macro、LISTSRV Macro 、LISTSRVI Macro 、OPERATE Macro 、SERVERID Macro 、SERVIIDX Macro、SERVINFO Macro、SERVLIB Macro 、SETSRV Macro、SHUTSRV Macro、STRTSRV Macro 。