ScaleArc idb Solution for SQL Server Deployments Objective This technology white paper describes the ScaleArc idb solution and outlines the benefits of scaling, load balancing, caching, SQL instrumentation and real-time SQL analytics that ScaleArc idb can deliver instantly, and in a transparent manner, to MS SQL Server 2005, 2008 and 2008R2 environments. This paper will explain how ScaleArc enables organizations of all sizes to address the scaling, high-availability and visibility shortcomings of traditional SQL Server deployments without requiring any change to the existing applications or SQL Server databases. In addition, the paper will also call out the business benefits of implementing scale-out SQL architectures with idb and will provide a brief preview of ScaleArc idb for SQL Server 2012. Database Industry Trends The need for faster, easier to scale, highly-available database environments has always been at the forefront of any IT organization. The explosion of data in the recent years coupled with the dramatic reduction in data storage costs has put an enormous strain on relational database systems. While some firms are exploring the implementation of NoSQL database solutions for some of their applications, the general consensus is that relational database systems, especially for OLTP environments, are here to stay given the exponential growth of relational data. On the compute front, Intel s focus for over a decade on increasing the number of cores on a physical CPU socket while keeping peak CPU speeds constant has fundamentally challenged scale-up solutions. Some RDBMS products, (e.g., MySQL) have deployment architectures that exploit distributed compute and storage systems like Master/Slave with scale-out Read-only database servers. In contrast, SQL Server installations, especially those editions prior to SQL Server 2012, have traditionally scaled-up to meet the performance demands of new applications. Copyright 2012 ScaleArc. All rights reserved.
Challenges in Today s SQL Server Environments SQL clustering and SQL mirroring, the two most popular scale-up SQL Server deployment architectures, only provide high availability and data integrity upon node failure. Scaling SQL Server environments usually involves investments in more powerful servers and expensive shared storage systems. Redundant hardware is usually in passive standby mode for high-availability and does not add to any performance gains, resulting in wasted resources and reduced ROI. Shared storage systems, on top of being prohibitively expensive, can become single points of failure and can cripple remote Disaster Recovery (DR) architectures. While web servers have been able to scale N+1 Active-Active across data centers along with Global Server Load Balancing (GSLB) at the web tier, SQL Server databases at the data tier tend to be Active-Passive. The lack of simple scale-out deployment models prior to SQL 2012 really place SQL Server at a disadvantage for growing Web 2.0 firms in e-commerce, social networking, online gaming and Software as a Service (SaaS) as well as for traditional Enterprises across various industry verticals. The high numbers of SQL connections originating from the scale-out web server farms usually overwhelm the SQL Server, especially during peak traffic hours or during traffic bursts. SQL Server does not have any built-in query cache that helps alleviate readintensive workloads that are typical of most database workloads. Organizations opting to go with peer-to-peer replication or log shipping soon realize the shortcomings, like lack of SQLaware load balancing, transparent failover and increased application complexity. Finally, online transaction processing (OLTP) systems today are monitored heavily to correlate and track customer experience with end-to-end system performance data. SQL Server does not natively provide visibility on a per query basis to aid application performance monitoring of production environments. SQL 2012 s AlwaysOn architecture makes significant improvements to both scale out and high availability. With AlwaysOn, SQL 2012 can allow you to make your secondary servers readable for readonly queries, and auto-failover / auto-promotion is provided as well. This makes it much easier to setup more SQL instances to offload your primary instance, and have better reliability for your primary instance, but still does not provide for the ability to load balance between the secondary instances, or the ability to automatically send read-only queries to secondary instances, since applications have to be modified to be able to work with read-intent connections to effectively utilize the read-only-replicas. Copyright 2012 ScaleArc. All rights reserved. 2
ScaleArc idb for SQL Server: Simple, Transparent and Powerful ScaleArc idb is a next generation database infrastructure software technology that abstracts application servers from SQL Server database servers to break the forced 1:1 dependency between the app and database tiers. idb provides instant horizontal scaling and connection management, real-time visibility into *every* query or stored procedure, SQL analytics with instant troubleshooting, one-click query caching for SQL Server offload and up to 24x faster responses, wire-speed security enforcement, and much more. First, ScaleArc idb can perform Read/Write split for queries and stored procedures, then performs SQL-aware load balancing. The Read/Write split with dynamic load balancing allows for seamless deployments with peer-to-peer replication or log shipping replication for SQL Server. Now with idb, SQL Server customers have the luxury of Multi- Master architectures with active-active databases allowing for better availability, higher performance and increased ROI. For SQL Server customers utilizing SQL clustering or mirroring only, many other benefits from idb exist (e.g., transparent caching). ScaleArc idb provides a transparent caching solution for SQL Server databases that require no changes to existing applications or database servers, and does not require any development effort in order to realize all of the caching benefits. idb's SQL caching is a query-level agentless approach that uses a NoSQL (i.e., purpose-built hash map) database to store repetitive read query responses, thus enabling blazingly fast responses to subsequent queries and allowing for massive scalability of existing SQL Servers. idb caching works at the query pattern level; these SQL query patterns are generated at wire speed from de-duplication of idb s centralized logging of all SQL queries flowing through idb. idb also supports caching of stored procedures. Caching increases application performance by serving content faster, resulting in a better user experience. Database CPU and IO load is reduced significantly even in the case of SQL clustering and mirroring, freeing critical system resources, accelerating reads and writes and extending the life of the server. In high-availability mode the cache on a secondary (passive) idb is synchronized in memory in real-time with the primary idb, resulting in no traffic surge in the event of primary idb failure. ScaleArc idb also provides for unparalleled real-time visibility of *all* SQL traffic traversing through production database servers. The SQL analytics is derived from de-duplicating granular log data. This does not require any sampling (all queries are logged and all data is utilized), nor does it add any Copyright 2012 ScaleArc. All rights reserved. 3
performance overhead on the application or the database server. The comprehensive query/stored procedure performance data is charted in a human readable graph, and highlights all frequent-but-slow queries for instant troubleshooting. These frequent-but-slow queries can be immediately added to idb cache with a single click, to instantly scale and accelerate overall database and application performance. With idb's real-time SQL instrumentation, application developers and DBAs can now get a non-intrusive, performance-centric view of the SQL query load, all with a simple click of the mouse. idb SQL analytics can also be used for auditing the SQL traffic and analyzing performance bottlenecks. Query Pattern Display from idb Highlighting Frequent-but-slow Queries Figure 2: Query Pattern Display from idb showing benefits of Caching Incredible Real-Time Analytics makes it easy to diagnose & optimize Cache adds 6x 60x more performance Copyright 2012 ScaleArc. All rights reserved. 4
Query Analytics Display from idb ScaleArc idb for SQL 2012 With the next release of ScaleArc idb for SQL Server, it becomes incredibly easy to scale out SQL 2012 without ever modifying applications to support reading from Read-Only-Replicas. idb will automatically translate Read-Only calls and route them to Read-Replicas, without any client side intervention or hinting required. In addition to that, idb will also provide features like SQL query caching, load balancing, a query firewall, and deep SQL Analytics to identify and fix common SQL performance and security issues. Cinchcast Customer Case Study Business Challenge: Cinchcast provides the technology that powers BlogTalkRadio, the largest and fastest-growing social radio network generating more than 1,500 hours of content each day. With an average of 175 million advertising impressions per month and growing, BlogTalkRadio needed a scalable ad-serving infrastructure that did not bottleneck at the database layer, even with 30,000 concurrent users per second. Copyright 2012 ScaleArc. All rights reserved. 5
Solution: Cinchcast considered several alternatives, including modifying the ad serving application. But without access to the source code for the ad serving product, Cinchcast was unable to simply add a cache layer to solve its scaling issues. And switching to a different enterprise ad serving provider would involve at least a month of engineering work. We needed a solution that could easily plug into our environment and act as a cache buffer, said Dr. Aleksandr Yampolskiy, Cinchcast CTO. Cinchcast chose the idb for MS SQL database infrastructure solution from ScaleArc. The ScaleArc idb solution was a pleasant surprise, said Yampolskiy. We simply plugged in the idb appliance and it instantly accelerated our queries and scaled our SQL server environment without requiring hours of valuable engineering resources. Business Benefits: Database performance & Uptime Cache hit rates of 94% for Read-Only queries and response time reduction of 5X for the most expensive calls help serve ads blazingly fast, and generate more revenue. The vertical scalability from caching also elevates the uptime of our database environment. [Aleksandr Yampolskiy, Cinchcast CTO] Analytics Information is power. idb allows us to see and measure ad performance where we didn t have visibility before. Scalability idb has allowed BlogTalkRadio to achieve instant scale of its existing SQL Server environment, saving additional capital expenditures, said Yampolskiy. In the future, adding more database servers even for third party applications will be simple since no app modifications are needed. This reduces our operational costs of our database infrastructure over time. Copyright 2012 ScaleArc. All rights reserved. 6