Currently, I am researching p2p application models. I believe even though the peers share data between each other, there is still a database server somewhere that holds user account information. Take Skype as an example. I believe they are/were using PostgreSQL though the users establish a p2p communication. What I am wondering is is there a p2p database implementation out there so the data is distributed (and encrypted) across client computers rather than hosted in a server farm?
If not, would it be extremely difficult/unrealistic to implement a p2p database?
Most P2P technologies still work on the same principles as the original Napster clones, with some new enhancements. The central database that 'advertises' files available for download is now shared among the users themselves, while transfers still take place directly from user to user.
P2P networks suffer from challenges like malicious file spreading, free riding, whitewashing, poor resource search scalability, lack of a robust trust model, etc. The join and leave of the nodes at their will and it makes management of topology management and resource searching more challenging.
Some of the popular P2P networks are Gnutella, BitTorrent, eDonkey, Kazaa, Napster, and Skype.
DEFINITION. A mobile peer-to-peer (P2P) database is a database that is stored in the peers of a mobile P2P network. The network is composed by a finite set of mobile peers that communicate with each other via short range wireless protocols, such as IEEE 802.11, Bluetooth, Zigbee, or Ultra Wide Band (UWB).
If you're interested in non-relational databases, there are lots of transactional and non-transactional P2P key-value stores, such as memcached (within a workgroup), or the different Distributed Hash Table (DHT) implementations over the Internet as a whole (e.g. CAN, Chord, Pastry, Tapestry, and Chimera).
Here's a good starting point: http://en.wikipedia.org/wiki/Distributed_hash_table
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With