P-Grid

From Wikipedia, the free encyclopedia

In distributed data storage, a P-Grid is a self-organizing structured peer-to-peer system, which can accommodate arbitrary key distributions (and hence support lexicographic key ordering and range queries), still providing storage load-balancing and efficient search by using randomized routing.

  • Good storage load-balancing despite arbitrary load-distribution over the key-space.[1]
  • Range queries can be naturally supported and efficiently processed on P-Grid because P-Grid abstracts a trie-structure, and supports (rather) arbitrary distribution of keys, as observed in realistic scenarios.[1]
  • A Self-referential directory is realized to provide peer identity persistence over multiple sessions.[1]
  • A gossip primitive based update mechanism for keeping replicated content up-to-date.[1]
  • Easy merger of multiple P-Grids, and hence decentralized bootstrapping of the P-Grid network.[1]
  • Query-adaptive caching is easy to realize on P-Grid to provide query load-balancing where peers have restricted capacity.[1]

Overview

For the sake of simplicity, this figure does not show replication.

P-Grid abstracts a trie and resolves queries based on prefix matching. The actual topology has no hierarchy. Queries are resolved by matching prefixes. This also determines the choice of routing table entries. Each peer, for each level of the trie, maintains autonomously routing entries chosen randomly from the complementary sub-trees.[2] In fact, multiple entries are maintained for each level at each peer to provide fault-tolerance (as well as potentially for query-load management). For diverse reasons including fault-tolerance and load-balancing, multiple peers are responsible for each leaf node in the P-Grid tree. These are called replicas. The replica peers maintain an independent replica sub-network and uses gossip based communication to keep the replica group up-to-date.[3] The redundancy in both the replication of key-space partitions as well as the routing network together is called structural replication. The figure above shows how a query is resolved by forwarding it based on prefix matching.[citation needed]

Range queries in P-Grid

References

Related Articles

Wikiwand AI