DATABASE SHARD ARBITER
First Claim
1. A method of providing database shard arbitration among a plurality of databases, the method comprising:
- receiving, via a network interface, a database request, wherein the database request comprises;
a first database command, andmetadata related to the first database command, wherein the metadata comprises information indicative of at least one of;
an entity related to the database request,a time of day, ora type of data;
determining one or more business rules associated with the database request, based on the metadata;
determining, based on the one or more business rules, a plurality of sharded databases related to the database request;
formulating, with a processor, a plurality of database commands based on the one or more business rules, wherein each database command of the plurality of database commands;
corresponds with a sharded database of the plurality sharded of databases,corresponds with a separate shard of data related to the database request, andis determined based on the first database command; and
for each database command of the plurality of database commands, sending the database command to the sharded database to which it corresponds.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques described herein provide for a shard arbiter to act as an intermediary between querying and/or data-inserting applications and sharded databases. The shard arbiter can provide an interface with which the applications can provide a request (e.g., data insert and/or query) in any of a variety of database languages, and the data is inserted into and/or retrieved from sharded databases without the need for customization or any knowledge of how data is sharded. The shard arbiter can use business rules to determine how data is sharded among databases, and may utilize different types of databases—communicating with each database in its native language.
-
Citations
21 Claims
-
1. A method of providing database shard arbitration among a plurality of databases, the method comprising:
-
receiving, via a network interface, a database request, wherein the database request comprises; a first database command, and metadata related to the first database command, wherein the metadata comprises information indicative of at least one of; an entity related to the database request, a time of day, or a type of data; determining one or more business rules associated with the database request, based on the metadata; determining, based on the one or more business rules, a plurality of sharded databases related to the database request; formulating, with a processor, a plurality of database commands based on the one or more business rules, wherein each database command of the plurality of database commands; corresponds with a sharded database of the plurality sharded of databases, corresponds with a separate shard of data related to the database request, and is determined based on the first database command; and for each database command of the plurality of database commands, sending the database command to the sharded database to which it corresponds. - View Dependent Claims (2, 3, 4, 5, 6, 21)
-
-
7. (canceled)
-
8. A server providing database shard arbitration among a plurality of databases, the server comprising:
-
a communications interface; a memory; and a processing unit communicatively coupled with the memory and the communications interface, the processing unit configured to perform functions including; receiving, via the communications interface, a database request, wherein the database request comprises; a first database command, and metadata related to the first database command, wherein the metadata comprises information indicative of at least one of; an entity related to the database request, a time of day, or a type of data; determining one or more business rules associated with the database request, based on the metadata; determining, based on the one or more business rules, a plurality of sharded databases related to the database request; formulating a plurality of database commands based on the one or more business rules, wherein each database command of the plurality of database commands; corresponds with a sharded database of the plurality of sharded databases, corresponds with a separate shard of data related to the database request, and is determined based on the first database command; and for each database command of the plurality of database commands, sending, via the communications interface, the database command to the sharded database to which it corresponds. - View Dependent Claims (9, 10, 11, 12)
-
-
13. (canceled)
-
14. A non-transitory computer-readable medium having instructions imbedded thereon providing database shard arbitration among a plurality of databases, the computer-readable medium including instructions for:
-
receiving a database request via a network interface, wherein the database request comprises; a first database command, and metadata related to the first database command; determining one or more business rules associated with the database request, based on the metadata; determining, based on the one or more business rules, a plurality sharded of databases related to the database request; formulating a plurality of database commands based on the one or more business rules, wherein each database command of the plurality of database commands; corresponds with a sharded database of the plurality sharded of databases, corresponds with a separate shard of data related to the database request, and is determined based on the first database command; and for each database command of the plurality of database commands, sending the database command to the database to which it corresponds. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification