Академический Документы
Профессиональный Документы
Культура Документы
Paper 151-28
ABSTRACT
How much data will you be required to store and process, now, six
months from now? How can you effectively manage and balance
user requirements for data analytics vs. transaction requirements
from your OLTP system? These questions as well as many others
are becoming more demands than requests. SAS and Oracle have
solutions that will help you provide some answers. Loading,
extracting and feeding high end SAS analytics with data stored in
Oracle provides answers to more than data volume concerns.
INTRODUCTION
According to the dictionary Scalable was coined in 1580 AD and is
defined as, capable of being scaled. It could be speculated that
the people of the time would define scaled as the ability to climb a
wall. Scalable in their eyes would be defined as their ability to do so.
Several hundred years later we are still looking at the wall; however,
now instead of bricks and mortar it is made of data. Our ability to
scale the wall is directly proportional to how quickly and efficiently we
can process data. To aid in that process the SAS/ACCESS family
of products attacks this wall by building interfaces that understand
the ladders provided by the DBMS vendors. This paper will focus
on scalable features delivered with SAS System 9 and Oracle 9i
software releases.
Figure 1
-1-
SUGI 28
SAS SYSTEM 9
I/O
SAS Application
SAS Supervisor
SAS/ACCESS Engine
DBMS Client
DBMS
Server
do n=1 to &nObs;
do i=1 to &nVars;
x{i}=ranuni(12345);
end;
y=x{1}+3*x{&Nvars}+rannor(12345);
output;
end;
run;
%mend;
/*--- create the data to load into Oracle
execute the macro above ---*/
B The SAS Supervisor is the controlling force behind the SAS I/O
model in SAS Version 8 and in SAS System 9. The threaded I/O
model is an extension of the SAS Version 8 I/O model. Both
threaded and the SAS V8 I/O model (single threaded) co-exists in
SAS SYSTEM 9. Once the supervisor recognizes the new I/O calls
it triggers the SAS/ACCESS engine to service the request C.
%makeRegData(500000,49,20);
-2-
SUGI 28
*/
*/
*/
*/
THREADED PROCESS
The ability of the application to thread both data acquisition and data
processing provides the greatest potential for performance gains.
The following SAS procedures have been thread enabled for SAS
System 9:
proc sort
proc summary
proc dmine
proc means
proc reg
proc glm
proc dmreg
proc loess
proc robustreg
proc dmdb
Proc reg used in the sample code has implemented the threading
process for both input and execution. Refer to procedure specific
SAS documentation for additional information on threading and
thread control methods.
-3-
SUGI 28
time) and build local bitmapped indexes with the parallel clause
set.
Build bitmap join indexes to merge steps 1 and 2 into one step.
SAS continues to support new DBMS features and releases and has
support for the new optimizations in Oracle 9i. The support for
various releases of Oracle can be viewed on the SAS web site:
http://www.sas.com/service/techsup/access/searchPage.hsql
You can view SAS/ACCESS engine performance enhancements
and features for SAS System 9 on the following web site:
http://v9doc.sas.com/sasdoc
The documentation on the web site above describes both the
threaded support for SAS System 9 and new features and support
added to the SAS/ACCESS Interface to Oracle. Note if you are a
first time user to this site you will have to provide some information to
gain access.
TUNING STAR QUERIES
The star query and associated star schema is a popular
implementation in many data warehouses today. The Oracle9i
optimizations for the star query are simple to implement and tune.
These notes provide a quick and simple way to optimize your star
queries.
-4-
SUGI 28
a join key is that hash join optimizations can be done to reduce the
join cost.
List Partitioning. List partitioning allows the portioning scheme to
create partitions for specific data values rather than a specified
range. This is commonly used in grouping columns and
geographical fields where the number of distinct values is small but
fairly selective for query processing.
-5-
SUGI 28
CONCLUSION
The new SAS I/O model enhancements, extensions to the
SAS/ACCESS tools set in SAS SYSTEM 9 and Oracle 9i
enhancements are all methods that can be used to help achieve
scalable data access. The ability to climb the wall of data
confronting your company using scalable tools may be directly
proportional to how you can resolve the equation:
Scalability success = (data design + data
access) * scalable tools factor
Some of the most significant performance gains we have seen from
customer reported issues have been achieved by correcting data
design and access method (including indexing) issues in the data.
Note: armed with scalable tools does not guarantee scalable
performance without serious consideration into how you will be
processing and organizing your data.
CONTACT INFORMATION
Your comments and questions are valued and encouraged. Contact
the authors at:
Howard Plemmons
SAS Institute Inc
SAS Circle
Cary, NC 27513
Work Phone: 919-531-7779
Email: Howard.Plemmons@sas.com
Andrew Holdsworth
Oracle Corporation
500 Oracle Parkway
Redwood Shores, CA 94065
Work Phone: 650-506-2938
Email: Andrew.Holdsworth@oracle.com
SAS and all other SAS Institute Inc. product or service names are
registered trademarks or trademarks of SAS Institute Inc. in the
USA and other countries. indicates USA registration.
Other brand and product names are trademarks of their respective
companies.
-6-