# Striim 4.1.0 documentation

### Scaling up for better performance

When a single reader can not keep up with the data being added to your source, create multiple readers. Use the Tables property to distribute tables among the readers:

• Assign each table to only one reader.

• When tables are related (by primary or foreign key) or to ensure transaction integrity among a set of tables, assign them all to the same reader.

• When dividing tables among readers, distribute them according to how busy they are rather than simply by the number of tables. For example, if one table generates 50% of the entries in the CDC log, you might assign it and any related tables to one reader and all the other tables to another.

The following is a simple example of how you could use two Oracle Readers, with one reading a very busy table and the other reading the rest of the tables in the same schema:

CREATE SOURCE OracleSource1 USING OracleReader (
FetchSize: 1,
Compression: false,
ConnectionURL: '198.51.100.15:1521:orcl',
Tables: 'MYSCHEMA.VERYBUSYTABLE'
)
OUTPUT TO OracleSourcre_ChangeDataStream;

CREATE SOURCE OracleSource2 USING OracleReader (
FetchSize: 1,
CommittedTransactions: true,
Compression: false,
OUTPUT TO OracleSourcre_ChangeDataStream;