Method and system for transparent read-write query routing when load balancing databases
First Claim
1. A database accelerator, for use in a network having a set of at least one client system each running an application which makes database queries via a network to a particular IP address and port combination, and a plurality of database servers each having access to at least a portion of a database, the database accelerator being arranged to:
- designate a first subset of at least one of the database servers to handle read queries only, and a second subset of at least one of the database servers to handle write queries;
receive, through a network port, the database queries made by the set of client systems and directed to the particular IP address and port combination;
determine whether each of a plurality of the received queries is a read query or a write query;
forward to one or more of the servers in the second subset of servers each of the received queries in the plurality of the received queries which are determined to be write queries, andforward to one or more servers in the first subset of servers at least one of the received queries in the plurality of the received queries which are determined to be read queries.
6 Assignments
0 Petitions
Accused Products
Abstract
Roughly described, a database query router is installed transparently in a network between database client systems and a database server cluster. One subset of the servers is designated to handle read queries only and a second subset is designated to handle write queries. The query router receives, through a network port, the database queries made by a client system, and directed to the IP address and port assigned to the query router. The query router determines whether the query is a read or a write query, and forwards read queries to servers in the first subset and write queries to servers in the second subset of servers. By installing the query router transparently in the network, no modifications are required to the software in either the client systems or the database servers in order to add query routing functionality to a client/server database environment.
-
Citations
30 Claims
-
1. A database accelerator, for use in a network having a set of at least one client system each running an application which makes database queries via a network to a particular IP address and port combination, and a plurality of database servers each having access to at least a portion of a database, the database accelerator being arranged to:
-
designate a first subset of at least one of the database servers to handle read queries only, and a second subset of at least one of the database servers to handle write queries; receive, through a network port, the database queries made by the set of client systems and directed to the particular IP address and port combination; determine whether each of a plurality of the received queries is a read query or a write query; forward to one or more of the servers in the second subset of servers each of the received queries in the plurality of the received queries which are determined to be write queries, and forward to one or more servers in the first subset of servers at least one of the received queries in the plurality of the received queries which are determined to be read queries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A query routing method, for use in a network having a set of at least one client system each running an application which makes database queries via a network to a particular IP address and port combination, and a plurality of database servers each having access to at least a portion of a database, comprising the steps of:
-
designating a first subset of at least one of the database servers to handle read queries only and a second subset of at least one of the database servers to handle write queries; a database accelerator receiving, through a network port, the database queries made by the set of client systems and directed to the particular IP address and port combination; the database accelerator determining whether each of a plurality of the received queries are read queries or write queries; the database accelerator forwarding to one or more of the servers in the second subset of servers each of the received queries in the plurality of the received queries which are determined to be write queries, and the database accelerator forwarding to one or more servers in the first subset of servers at least one of the received queries in the plurality of the received queries which are determined to be read queries. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A database accelerator, for use in a network having a set of at least one client system each running an application which makes database queries via a network to a particular IP address and port combination, and a plurality of database servers each having access to at least a portion of a database, the database accelerator further comprising:
-
means to designate a first subset of at least one of the database servers to handle read queries only, and a second subset of at least one of the database servers to handle write queries; means to receive, through a network port, the database queries made by the set of client systems and directed to the particular IP address and port combination; means to determine whether each of a plurality of the received queries is a read query or a write query; means to forward to one or more of the servers in the second subset of servers each of the received queries in the plurality of the received queries which are determined to be write queries, and means to forward to one or more servers in the first subset of servers at least one of the received queries in the plurality of the received queries which are determined to be read queries.
-
Specification