Simply put, ScaleArc iDB 2.0 is an ingenious product. It can "speak" SQL Server's Tabular Data Stream (TDS) protocol. By placing this software on a server between your application servers and back-end databases, you can easily set up caching rules so that commonly executed queries can be pulled from the proxy server's memory instead of the queries having to go all the way to the back-end server. The caching rules are easily configured and support parameterization, as Figure 1 shows.

Figure 1: Defining Caching Rules for Commonly Run Queries
Figure 1: Defining Caching Rules for Commonly Run Queries 

With ScaleArc iDB, you can also group multiple synchronized SQL Server databases from different hosts together into a single pooled proxy called a cluster. From that cluster, you can use either round-robin or least-execution-time load balancing to improve application scalability. Better yet, to get your application servers to take advantage of the scalability and caching features, all you have to do is point them at a new IP address or host name (i.e., a proxy address instead of binding them directly against your back-end SQL Server instances).

ScaleArc markets iDB as a load balancing solution for databases (there are versions for SQL Server 2008 and later and MySQL), so it stands to reason that its scalability capabilities get plenty of attention. But, without a doubt, its TDS proxy feature has a lot to offer as well. This feature enables caching, firewalls that protect against SQL injection attacks, high availability, redundancy, and more.

Setup and Testing

You can deploy ScaleArc iDB as software on your own hardware or on any x86-compatible hypervisor (e.g., Microsoft, VMware, or Citrix Systems hypervisor) as a virtual appliance. ScaleArc also offers iDB as a fully configured physical appliance. For testing, I used a virtual appliance, which I first deployed to VMware Workstation 9.0 on my desktop and then pushed out to my VMware vSphere 5.1 host in my lab.

After correcting a couple of dumb user errors I had made when setting up my default gateway on the appliance, I found ScaleArc iDB to be fairly easy to set up. However, it's clear that deployment in a live production environment would necessitate a decent amount of planning and testing. After setting up an iDB cluster, I was able to seamlessly and transparently connect my applications to it. I worked against this cluster without any hitch.

ScaleArc iDB is designed to forward any TDS commands or operations that it doesn't understand or currently support to the back-end servers, so I decided to test this ability. I pointed SQL Server Management Studio (SSMS) at my iDB cluster and ran a host of diagnostics, tricky queries, and advanced operations (e.g., FILESTREAM interactions, Multiple Active Result Sets—MARS). The diagnostics, queries, and operations ran without any problems. When I looked at the information provided by the iDB dashboard, I was able to see that some of my queries were routed to my primary and secondary SQL Server instances—a process that was completely transparent to me. Moreover, I was able to easily and successfully configure caching rules for some of these operations, complete with Time to Live (TTL) thresholds.

Synchronization Options

Database load balancing requires some form of back-end synchronization between the primary database and the read-only secondary databases. Traditionally, SQL Server has handled this back-end synchronization through replication, but Microsoft introduced another option—AlwaysOn Availability Groups—in SQLServer 2012.

ScaleArc iDB supports SQL Server replication and, at the time of writing, has unveiled support for SQL Server 2012 AlwaysOn Availability Groups. Consequently, any organization looking to use AlwaysOn for scale-out purposes really needs to look into iDB. It's the perfect logical compliment, because you can use ScaleArc iDB clusters for read-only secondary databases. ScaleArc iDB licensing costs are minor compared with the cost of buying additional SQL Server 2012 Enterprise licenses.

Works as Advertised

If you're looking to improve scalability and application responsiveness in your SQL Server environment, ScaleArc iDB is definitely worth a review and even a test drive to see how well it stacks up. For me, ScaleArc iDB worked as advertised.

ScaleArc iDB 2.0
PROS: Load balancing functionality for SQL Server doesn't require any code changes in the applications; does a great job of easing the pain points involved when adding any new servers; responsive support staff
CONS: Although not a limitation of the product per se, need to set up a back-end synchronization solution (e.g., SQL Server replication, AlwaysOn) to keep the scaled-out servers synchronized with the primary servers
RATING: 5 out of 5
PRICE: Licensing options include perpetual licenses (with additional support and maintenance contracts) or annual subscriptions (support and maintenance included), with list prices starting at roughly $6,299 for annual virtual appliance subscriptions and $10,499 for standalone perpetual-use licenses; physical ScaleArc appliances are sold only as a perpetual license and start at $39,999; discounts are available through certified ScaleArc Value Added Reseller (VAR) channel partners
RECOMMENDATION: For organizations looking to improve scalability and application responsiveness, ScaleArc iDB is definitely worth a look and a potential test drive, because it offers some excellent benefits with minimal effort when compared with other scalability options.
CONTACT: ScaleArc • 408-414-7191