Patent ID: 8150870

Claim:
A computer-implemented method for accessing information about a customer stored in a plurality of data stores, the computer-implemented method comprising: under control of instructions that are executed by one or more computing devices: receiving, at a first data store of the plurality of data stores, a request to access information about the customer, wherein the information about the customer is stored in one of the plurality of data stores, wherein each of the plurality of data stores has a plurality of partitions, wherein each partition of the plurality of partitions includes a plurality of buckets associated therewith, wherein each bucket of the plurality of buckets contains a plurality of partitionable keys related to a subset of customers whose customer information is stored in the partition such that the bucket represents a portion of the customer information stored in the partition, wherein each of the plurality of data stores is associated with a set of customers based, at least in part, on a geographic location associated with each of the set of customers, and wherein each geographic location is associated with a single data store from the plurality of data stores; identifying from the received request a partitionable key from the plurality of partitionable keys related to the subset of customers related to the customer; identifying from the identified partitionable key the single data store from the plurality of data stores which contains the identified partitionable key, wherein the identification is based at least in part on a determined geographical location of the customer; if the identified single data store corresponds to the first data store: using the identified partitionable key to identify the bucket within the first data store that contains the identified partitionable key; performing a bucket mapping using the identified bucket to determine the partition within the first data store with which the identified bucket is associated; determining whether the portion of the customer information stored in the partition represented by the identified bucket is accessible for the received request; and if it is determined that the portion of the customer information represented by the identified bucket is accessible for the received request: sending to a data partition service that manages the determined partition an access request for the information about the customer; and obtaining, from the data partition service, a result of the sent access request; and if the identified single data store does not correspond to the first data store: forwarding the received request to access information about the customer to the identified single data store.