【问题标题】:How to run statistical analyses on Oracle server using SAS如何使用 SAS 在 Oracle 服务器上运行统计分析
【发布时间】:2013-09-11 01:26:58
【问题描述】:

为了利用 Oracle 服务器大得多的磁盘空间和 RAM,是否可以使用 ODBC 接口在存储在服务器上的数据集上运行 SAS 过程(例如,proc glimmix 或 proc nlmixed)?

或者我是否仅限于通过 ODBC 将数据集提取到我的 PC,而不是在数据驻留在服务器上时使用 SAS 实际操作或分析数据?

【问题讨论】:

    标签: oracle odbc sas


    【解决方案1】:

    归根结底,假设您正在做任何复杂的事情(例如 GLIMMIX),一些工作必须由 SAS 在您的 PC 上完成。 SAS(尤其是 9.3 或更高版本)非常聪明地让数据库做尽可能多的工作;例如,甚至某些 PROC MEANS 也可能在数据库端完全执行。

    但是,这仅在无需特殊措施即可将过程转换为数据库功能的情况下才是正确的。 SAS 不太可能在数据库端执行回归,因为那不是原生的 Oracle。在某种程度上,数据必须通过(可能有限的)带宽。

    您当然可以做很多事情来限制您在 SAS 中必须做的事情。任何预汇总都可以在 Oracle 中完成;实际PROC GLIMMIX 之前的任何其他数据准备工作都可以在Oracle 中完成。您当然可以通过简单地使用 libname 连接并执行类似的操作来试一试

    proc glimmix data=oracle.table ... options ... ; 
    run;
    

    看看会发生什么——也许它在数据库中处理的数量会让您甚至我感到惊讶。它可能会把它带到本地,也可能不会。

    您可能需要考虑使用简化版本的问题(包括示例数据)提出问题,并简单地询问是否有人对提高性能有任何想法。可以进行很多调整,也许我们这里的一些人可以提供帮助。

    【讨论】:

    • 谢谢乔,这很有帮助。您知道 R 中的新 RODM 包(用于 Oracle 数据库 11g 企业版)是否以与 SAS ODBC 相同的方式运行?我正在考虑的另一个解决方案是学习我的编程技能和线性代数教科书,并用 SQL 编写代码以在 Oracle 中进行回归分析。
    • 我对RODM一无所知,所以不知道。 ODBC 不是 SAS 技术,它是 SAS 能够使用的数据库连接技术 - R 也可以。您总是可以购买 SAS 服务器,甚至只是购买更好的 SAS 台式机 - 我不知道您使用的是哪种数据,但如今 16GB 或 32GB 的 RAM 很容易获得,SSD 也是如此,这两者都会显着提高桌面的性能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2021-10-12
    • 2011-03-05
    • 2020-05-12
    • 2011-04-28
    • 2016-06-25
    • 1970-01-01
    相关资源
    最近更新 更多