(SM-2508) Sybase IQ / SAP ASE Storage Setup
You can use the Sybase IQ / SAP ASE connector for communication with both SAP ASE and Sybase IQ databases.
Sybase IQ uses the same SQL syntax as Sybase ASE and is fully ANSI SQL compliant.
Sybase IQ has a limitation for the VARCHAR key field length, which is restricted to 225. During the Glue Table creation, the source text field length is multiplied by 3 to prevent issues transferring multi-byte characters. If the field definition length exceeds 255, it'll be restricted to 255.
Supported versions
The minimal supported version of Sybase IQ is 16.0.0.809.
The minimal supported version of SAP ASEIQ is 16.0.4.2.
Creating Sybase IQ Storages in Kyano Storage Management
Start transaction /DVD/SM_SETUP.
Click Create to create a new storage.
Enter a Storage ID.
In the Storage type field, enter SM_TRS_SIQ.
Click Confirm.
Specify the required parameters:
Storage ID: Name of the storage.
Storage type: Type of storage. Use the storage type SM_TRS_SIQ for the Sybase IQ transparent storage.
Description: Short text description.
Connection mode: Select Open SQL or Native SQL for query execution.
DB Connection Name: Name of the existing SAP database connection.
Load stripe size: Optional parameter. For more information, see the Performance Improvements section below.
Load stripe width: Optional parameter. For more information, see the Performance Improvements section below.
Enable update: If selected, delta loads will be merged into existing data.
Connection mode switch after failure: If selected, this option changes the connection mode if the execution fails.
Read all clients: If selected, this option reads the data from all clients.
Repeats: Number of times failed calls should be retried.
Repeat delay (seconds): Delay between retried calls in seconds.
Click Save.
The new storage has been created.
Preview feature
Enable update functionality
Performance improvements
Load striping
Striping data across multiple disks is an essential technique to achieve good performance. Disk striping can be performed at different places in a system, often as part of RAID hardware or software. For more information on disk striping, see the official SAP documentation.
Load striping parallelizes data inserts across multiple disk drives. To set up a Stripe load, configure a database connection to support this feature.
Example configuration of DBCO:
SYBASE_SERVER=<server>.<domain>.<ext>
SYBASE_PORT=<port> e.g. 34238
SYBASE_IQ_ENGINE=server_NLS_42
SYBASE_DBNAME=SAPIQDB
SYBASE_CONTYPE=IQ
SYBASE_IQ_LOAD=1
SYBASE_IQ_CESU-8=1
SYBASE_IQ_LOCKWAIT=600
SYBASE_IQ_BUFFER_SIZE=500000
SIQ_BULK_OP=1
For more information, see the official Sybase IQ documentation.
Example configuration of DBCO from the SNP-internal HD1 system:
SYBASE_SERVER=vsks032
SYBASE_PORT=2648
SYBASE_IQ_ENGINE=vsks032_HD1
SYBASE_DBNAME=SAPHD1DB
SYBASE_IQ_LOCKWAIT=600
SYBASE_CONTYPE=IQ
SYBASE_IQ_CESU-8=1
SYBASE_IQ_LOAD=1
SYBASE_IQ_BUFFER_SIZE=500000
After DBCO is configured to support the stripe load, enable striping in the Kyano Storage Management setup. To do so, follow steps 1–6 above and specify the following parameters:
Load stripe size: Size of a stripe on a disk, expressed as a multiple of the value specified for SYBASE_IQ_BUFFER_SIZE.
Load stripe width: Degree of parallelism.
For more information on SAP stripe load implementation, see the official SAP documentation.
Partitioning
Partitioning allows parallel inserts into a database table. To use partitioning, you must first create (register) partitioning on a table. To do so, call the method /DVD/SM_IF_TAB-ADD_TABLE_PARTITIONING.
Partitioning must be enabled on an empty table, ideally just after creating it (CREATE_TABLE).
Afterward, create a partition before inserting data by calling the method /DVD/SM_IF_TAB-ADD_PARTITION. Otherwise, the INSERT statement will fail, because data cannot be assorted to partitions.
There are two corresponding methods to check if partitioning is enabled on a table:
/DVD/SM_IF_TAB-PARTITIONING_EXISTSChecks whether partitioning exists./DVD/SM_IF_TAB-PARTITION_EXISTSChecks whether a partition with a given name exists on the table.