Data processing service
First Claim
1. A computerized system, comprising:
- a first data center of multiple data centers, the multiple data centers configured to replicate a logical collection of data among the multiple data centers,wherein the logical collection of data comprises multiple logical partitions of data that are distinct from each other and that as a whole comprise the logical collection of data, wherein the multiple logical partitions of data comprise a first logical partition of data, a second logical partition of data, and a third logical partition of data,wherein each of the multiple data centers includes multiple computers that each include at least one processor and computer-readable memory;
a second data center of the multiple data centers;
a third data center of the multiple data centers;
a first writing subsystem, executable by at least some of the computers at the first data center, that is designated to write updates to a copy of the first logical partition of data that is stored by the first data center;
a second writing subsystem, executable by at least some of the computers at the second data center, that is designated to write updates to a copy of the second logical partition of data that is stored by the second data center;
a third writing subsystem, executable by at least some of the computers at the third data center, that is designated to write updates to a copy of the third logical partition of data that is stored by the third data center;
a first replicating subsystem, executable by at least some of the computers at the first data center, to replicate the updates to the first logical partition of data from the first data center to the second data center and the third data center;
a second replicating subsystem, executable by at least some of the computers at the second data center, to replicate the updates to the second logical partition of data from the second data center to the first data center and the third data center;
a third replicating subsystem, executable by at least some of the computers at the third data center, to replicate the updates to the third logical partition of data from the third data center to the first data center and the second data center;
a writing query distributor, executable by one or more computers, that is configured to receive, over a period of time, multiple queries from multiple client computing devices that are geographically remote from the multiple data centers and the one or more computers on which the writing query distributor is executable, and to;
(i) distribute, to the first writing subsystem at the first data center, those of the multiple queries that have been identified as being structured to write to the first logical partition of data,(ii) distribute, to the second writing subsystem at the second data center, those of the multiple queries that have been identified as being structured to write to the second logical partition of data, and(iii) distribute, to the third writing subsystem at the third data center, those of the multiple queries that have been identified as being structured to write to the third logical partition of data.
2 Assignments
0 Petitions
Accused Products
Abstract
In general, the subject matter described in this disclosure can be embodied in methods, systems, and program products. A system includes a first data center, a second data center, and a third data center. The multiple data centers are configured to replicate a logical collection of data that comprises multiple logical partitions of data. The system comprises a first writing subsystem that is designated to write updates to a copy of a first logical partition of data that is stored by the first data center. The system comprises a second writing subsystem that is designated to write updates to a copy of a second logical partition of data that is stored by the second data center. The system comprises a third writing subsystem that is designated to write updates to a copy of a third logical partition of data that is stored by the third data center.
32 Citations
16 Claims
-
1. A computerized system, comprising:
-
a first data center of multiple data centers, the multiple data centers configured to replicate a logical collection of data among the multiple data centers, wherein the logical collection of data comprises multiple logical partitions of data that are distinct from each other and that as a whole comprise the logical collection of data, wherein the multiple logical partitions of data comprise a first logical partition of data, a second logical partition of data, and a third logical partition of data, wherein each of the multiple data centers includes multiple computers that each include at least one processor and computer-readable memory; a second data center of the multiple data centers; a third data center of the multiple data centers; a first writing subsystem, executable by at least some of the computers at the first data center, that is designated to write updates to a copy of the first logical partition of data that is stored by the first data center; a second writing subsystem, executable by at least some of the computers at the second data center, that is designated to write updates to a copy of the second logical partition of data that is stored by the second data center; a third writing subsystem, executable by at least some of the computers at the third data center, that is designated to write updates to a copy of the third logical partition of data that is stored by the third data center; a first replicating subsystem, executable by at least some of the computers at the first data center, to replicate the updates to the first logical partition of data from the first data center to the second data center and the third data center; a second replicating subsystem, executable by at least some of the computers at the second data center, to replicate the updates to the second logical partition of data from the second data center to the first data center and the third data center; a third replicating subsystem, executable by at least some of the computers at the third data center, to replicate the updates to the third logical partition of data from the third data center to the first data center and the second data center; a writing query distributor, executable by one or more computers, that is configured to receive, over a period of time, multiple queries from multiple client computing devices that are geographically remote from the multiple data centers and the one or more computers on which the writing query distributor is executable, and to; (i) distribute, to the first writing subsystem at the first data center, those of the multiple queries that have been identified as being structured to write to the first logical partition of data, (ii) distribute, to the second writing subsystem at the second data center, those of the multiple queries that have been identified as being structured to write to the second logical partition of data, and (iii) distribute, to the third writing subsystem at the third data center, those of the multiple queries that have been identified as being structured to write to the third logical partition of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method, comprising:
-
receiving, by a computing system, a query that is structured to cause a querying system to select data from a database table; identifying, by the computing system, that the data that is to be selected from the database table is stored within one or more logical portions of data; identifying, by the computing system, multiple data centers among which the one or more logical portions of data are designated for replication; identifying, by the computing system, that the one or more logical portions of data have been fully replicated among none of the multiple data centers; in response to identifying that the one or more logical portions of data have been fully replicated among none of the multiple data centers, identifying, by the computing system, a most-recent data center of the multiple data centers that most-recently updated the one or more logical portions of data, wherein identifying the most-recent data center includes identifying that a write timestamp for a copy of the one or more logical portions of data stored by the most-recent data center is more recent than write timestamps for copies of the one or more logical portions of data stored by other of the multiple data centers that do not include the most-recent data center; and sending, by the computing system, the query to the identified most-recent data center, so as to cause the identified most-recent data center to select data, in accordance with the query, from a copy of the database table that is stored by the most-recent data center. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification