This section describes the key concepts of the Sybase IQ client/server architecture, and provides the conceptual background for the rest of the chapter.
If you simply wish to use a Sybase application or a third-party client application with Sybase IQ, you do not need to know any details of connectivity interfaces or network protocols. However, an understanding of how these pieces fit together may be helpful for configuring your database and setting up applications. This section explains how the pieces fit together, and avoids any discussion of the internal features of the pieces. For more details about third party client applications, see the Sybase IQ Installation and Configuration Guide.
Members of the Adaptive Server family act as Open Servers. Client applications communicate with Open Servers using the Open Client libraries available from Sybase. Open Client includes both the Client Library (CT-Library) and the older DB-Library interfaces. Sybase IQ can also act as an Open Server, but in order to use the Open Client libraries, the client application must use only the supported system tables, views and stored procedures. See Appendix A, “Compatibility with Other Sybase Databases,” in Sybase IQ Reference Manual for a list of compatible syntax.
The following figure shows how client applications communicate with Sybase IQ. In Sybase IQ 12, you can connect through either ODBC or JDBC. This contrasts with Sybase IQ 11.5 and earlier, which did not support JDBC.
Sybase IQ supports two application protocols:
An application protocol specific to Sybase IQ and Adaptive Server Anywhere is used for ODBC, JDBC, and Embedded SQL applications.
TDS (tabular data stream) is used for JDBC connections, Open Client applications and for other Sybase applications such as OmniConnect.
Open Clients and Open Servers exchange information using the TDS application protocol. All applications built using the Sybase Open Client libraries are also TDS applications, because the Open Client libraries handle the TDS interface. However, some applications (such as Sybase jConnect) are TDS applications even though they do not use the Sybase Open Client libraries (they communicate directly to the TDS layer).
At the other end of the client/server connection, while many Open Servers use the Sybase Open Server libraries to handle the interface to TDS, some applications have a direct interface to TDS of their own. Sybase Adaptive Server Enterprise and Sybase IQ both have internal TDS interfaces. They appear to client applications as an Open Server, but do not use the Sybase Open Server libraries.
Application protocols such as TDS sit on top of lower level communications protocols that handle network traffic. Sybase IQ supports TDS only over the TCP/IP network protocol. In contrast, the Sybase IQ-specific application protocol supports several network protocols as well as a shared memory protocol designed for same-machine communication.