ADC

DataStream

The Citrix ADC DataStream feature provides an intelligent mechanism for request switching at the database layer by distributing requests based on the SQL query being sent.

When deployed in front of database servers, a Citrix ADC appliance ensures optimal distribution of traffic from the application servers and Web servers. Administrators can segment traffic according to information in the SQL query and based on database names, user names, character sets, and packet size.

You can configure load balancing to switch requests based on load balancing algorithms. Alternately, you can elaborate the switching criteria by configuring content switching to make a decision based on an SQL query parameter. You can further configure monitors to track the state of database servers.

Note:

Citrix ADC DataStream is supported only for MySQL and MS SQL databases. For information about the supported protocol version, character sets, special queries, and transactions, see DataStream Reference.

How DataStream works

In DataStream, the ADC appliance is placed in-line between the application or web servers and the database servers. On the appliance, the database servers are represented by services.

A typical DataStream deployment consists of the entities described in the following diagram.

Figure 1. DataStream Entity Model

DataStream entity model

As shown in this figure, a DataStream configuration can consist of:

  • An optional content switching virtual server (CS).
  • A load balancing setup consisting of load balancing virtual servers (LB1 and LB2).
  • Services (Svc1, Svc2, Svc3, and Svc4).
  • Content switching policies (optional).

The clients (application or Web servers) send requests to the IP address of a content switching virtual server (CS) configured on the Citrix ADC appliance. The appliance, then, authenticates the clients using the database user credentials configured on the appliance. The content switching virtual server (CS) applies the associated content switching policies to the requests. After evaluating the policies, the content switching virtual server (CS) routes the requests to the appropriate load balancing virtual server (LB1 or LB2). Then, the load balancing virtual server distributes the requests to the appropriate database servers (represented by services on the appliance) based on the load balancing algorithm. The Citrix ADC appliance uses the same database user credentials to authenticate the connection with the database server.

If a content switching virtual server is not configured on the appliance, the clients (application or Web servers) send their requests to a load balancing virtual server configured on the appliance. The Citrix ADC appliance authenticates the client by using the database user credentials configured on the appliance, and then uses the same credentials to authenticate the connection with the database server. The load balancing virtual server distributes the requests to the database servers according to the load balancing algorithm. The most effective load balancing algorithm for database switching is the least connection method.

DataStream uses connection multiplexing to enable multiple client-side requests to be made over the same server-side connection. The following connection properties are considered:

  • User name
  • Database name
  • Packet size
  • Character set
DataStream