METHOD AND SYSTEM OF IMPLEMENTING A DISTRIBUTED DATABASE WITH PERIPHERAL COMPONENT INTERCONNECT EXPRESS SWITCH
In one exemplary aspect, a method a Peripheral Component Interconnect Express (PCIe) based switch that provides a bridge between a set of database nodes of the distributed database system is provided. A failure in a database node is detected. A consensus algorithm is implemented to determine a replacement database node. A database index of a data storage device formally managed by the database node that failed is migrated to a replacement database node. The PCIe-based switch is remapped to attach the replacement database node with the database index to the data storage device.
1 . A method of a distributed database system comprising:
providing a Peripheral Component Interconnect Express (PCIe) based switch that provides a bridge between a set of database nodes of the distributed database system;
detecting a failure in a database node;
implementing a consensus algorithm to determine a replacement database node; and
migrating, with the PCIe based switch, an index of a data storage device formally managed by the database node that failed to a replacement database node.
2 . The method of claim wherein the bridge provided by the PCIe based switch comprises a non-transparent bridge.
3 . The method of claim 2 , wherein the non-transparent bridge comprises a computing system on both sides of the non-transparent bridge, each with its own independent address domain.
4 . The method of claim 3 , wherein each database node of the distributed database system uses a Linux-based operating system to implement a non-transparent bridge mode to interface with a PCIe-based entity.
5 . The method of claim 1 , wherein the consensus algorithm comprises a Paxos-based consensus algorithm.
6 . The method of claim 5 , wherein the Paxos-based consensus algorithm is implemented by by an election process performed by a set of remaining database nodes in the distributed database network.
7 . The method of claim 1 , wherein one or more processors in each database node of the distributed database network communicate to each through a shared memory mediated by a PCIe bus utilizing a PCIe standard.
8 . The method of claim 1 , wherein the distributed database system comprises a not only structured query language (NoSQL) distributed database system.
9 . The method of claim 1 , wherein the database nodes of the set of remaining database nodes manage a state of the PCIe based switch.
10 . A computerized system comprising:
a processor configured to execute instructions;
a memory containing instructions when executed on the processor, causes the processor to perform operations that:
provide a Peripheral Component interconnect Express (PCIe) based switch that provides a bridge between a set of database nodes of the distributed database system;
detect a failure in a database node;
implement a consensus algorithm to determine a replacement database node by an election process performed by a set of remaining database nodes;
migrate a database index of a data storage device formally managed by the database node that failed to a replacement database node; and
remap the PCIe based switch to attach the replacement database node with the database index to the data storage device.
11 . The computerized system of claim 10 , wherein the bridge provided by the PCIe based switch comprises a non-transparent bridge.
12 . The computerized system of claim 11 , wherein the non-transparent bridge comprises a computing system on both sides of the non-transparent bridge, each with its own independent address domain.
13 . The computerized system of claim 12 , wherein each database node of the distributed database system uses a Linux-based operating system to implement a non-transparent bridge mode to interface with a PCIe-based entity.
14 . The computerized system of claim 10 , wherein the consensus algorithm comprises a Paxos consensus algorithm.
15 . The computerized system of claim 14 , wherein the Nixes consensus algorithm is implemented by the set of remaining database nodes of the distributed database system.
16 . The computerized system of claim 10 , wherein one or more processors in each database. node of the distributed database network communicate to each through a shared memory mediated by a PCIe bus utilizing a PCIe standard.
17 . The computerized system of claim 10 , wherein the distributed database system comprises a not only structured query language (NoSQL) distributed database system.
18 . The computerized system of claim 10 , wherein the database nodes of the set of remaining database nodes manage a state of the PCIe based switch.
19 . The computerized system of claim 10 , wherein a cache in the database node that failed that is stored in a locally-attached random access memory (RAM) is reconfigured the replacement database node.