Source Database
Tune your database on the source side to perform SELECTs as quickly as possible.
In the database layer, you can improve the performance of SELECTs in several ways, such as the following:
- Create indexes on appropriate columns, based on your data flows.
- Increase the size of each I/O from the database server to match the OS read-ahead I/O size.
- Increase the size of the shared buffer to allow more data to be cached in the database server.
- Cache tables that are small enough to fit in the shared buffer. For example, if jobs access the same piece of data on a database server, then cache that data. Caching data on database servers will reduce the number of I/O operations and speed up access to database tables.
Target Database
Tune your database on the target side to perform INSERTs and UPDATES as quickly as possible.
In the database layer, there are several ways to improve the performance of these operations.
Here are some examples from Oracle:
- Turn off archive logging
- Turn off redo logging for all tables
- Tune rollback segments for better performance
- Place redo log files and data files on a raw device if possible
- Increase the size of the shared buffer
Network
When reading and writing data involves going through your network, its ability to efficiently move large amounts of data with minimal overhead is very important. Do not underestimate the importance of network tuning (even if you have a very fast network with lots of bandwidth).
Set network buffers to reduce the number of round trips to the database servers across the network. For example, adjust the size of the network buffer in the database client so that each client request completely fills a small number of network packets.
Job server OS
SAP Business Objects Data Services jobs are multi-threaded applications. Typically a single data flow in a job initiates one al_engine process that in turn initiates at least 4 threads.
For maximum performance benefits:
- Consider a design that will run one al_engine process per CPU at a time.
- Tune the Job Server OS so that threads spread to all available CPUs.
Tuning Jobs
You can tune job execution options after:
- Tuning the database and operating system on the source and the target computers
- Adjusting the size of the network buffer
- Your data flow design seems optimal
You can tune the following execution options to improve the performance of your jobs:
- Monitor sample rate
- Collect statistics for optimization and Use collected statistics