Dynamic Load Balancing
Just as a web load balancer intercepts HTTP requests and distributes them across multiple web servers, ScaleArc intercepts and distributes SQL queries coming from web/application servers across multiple database servers. Find out more from a real-world use case at KixEye
ScaleArc provides Clustering and Dynamic Load Balancing without any database engineering on the app or database servers
- Reduced database downtime with High-Availability
- Automatic read/write split for instant scale out
- Replication aware dynamic load balancing
- Authentication offload & Connection Pooling
- Surge Queue protects servers under high load
- Query Routing and Sharding
ScaleArc enables high availability for the data tier, just as the web load balancers (ADCs) have enabled for the web tier. Should a database server fail, the ScaleArc software switches client connections to a live database server seamlessly. A single cluster can incorporate database servers from different data centers connected via a secure IP tunnel to reduce application downtime.
ScaleArc transparently routes all write queries to master/primary servers and read queries to slave servers, helping even non-cluster-aware applications utilize multiple servers and increase performance and availability. ScaleArc acts as a full SQL proxy, performing read/write split for queries and stored procedures to provide instant scale out, with no application modifications.
Replication-Aware Load Balancing
ScaleArc can balance and traffic shape database load across two or more servers using a specialized Dynamic Load Balancing algorithm that utilizes the available database capacity more efficiently. ScaleArc monitors query responses in real-time, so it can predict which server will respond faster to queries in the next second and distribute load accordingly. ScaleArc supports all possible replication topologies used by MySQL,SQL Server, and Orcale, including Master-Slave, Multi-Master, Multi-Master-Multi-Slave, Percona xtraDB Galera, NDB cluster, Peer-2-Peer, log-shipping, SQL mirroring, AlwaysOn, Oracle RAC, or even shared disk databases. The ScaleArc software is replication-technology agnostic.
Authentication offload & Connection Pooling
Database servers can benefit from keeping SQL connections alive, especially for a LAMP stack where queries result in creating, authenticating, using and destroying many SQL connections. A lot of resources and time is saved by ScaleArc connection pools as the process for accepting a connection, and authentication isn’t required for each query anymore. ScaleArc re-uses existing connections and multiplexes many client connections into just a few, reducing the connection load on a database server and allowing a lot more web/app servers to work with the same set of database servers without running out of connections and giving errors.
SQL Surge Queue
ScaleArc allows users to regulate the maximum peak concurrent load a SQL database and prevents the server from getting overloaded. Our surge queue provides a QoS-like effect, preventing servers from getting overloaded with excess connections, becoming slow on a per-query response, and eventually crashing. The SQL surge queue lets users ride out peak loads more effectively.
Query Routing and Sharding
ScaleArc also can provide for sharding of the databases with all the sharding rules residing on the ScaleArc software as simple regex rules – all with no application involvement. The sharding/routing rules can be updated live in production to allow for more shards. Query routing can be used to send reporting workload to specific servers away from production servers and prevent unintentional production service outages.