(SM-2508) Sybase IQ / SAP ASE Storage Setup

(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 

  1. Start transaction /DVD/SM_SETUP

  2. Click Create to create a new storage. 

  3. Enter a Storage ID

  4. In the Storage type field, enter SM_TRS_SIQ

  5. Click Confirm

  6. 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.

  7. 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_EXISTS Checks whether partitioning exists. 

  • /DVD/SM_IF_TAB-PARTITION_EXISTS Checks whether a partition with a given name exists on the table.