Pertanyaan Apakah ada implementasi p2p database di luar sana [tertutup]


Saat ini, saya sedang meneliti model aplikasi P2P. Saya percaya meskipun rekan-rekan berbagi data antara satu sama lain, masih ada server basis data di suatu tempat yang menyimpan informasi akun pengguna. Ambil Skype sebagai contoh. Saya percaya mereka menggunakan PostgreSQL meskipun pengguna membuat komunikasi P2P. Apa yang saya ingin tahu adalah apakah ada implementasi p2p database di luar sana sehingga data didistribusikan (dan dienkripsi) di komputer klien daripada di-host di sebuah peternakan server?

Jika tidak, apakah akan sangat sulit / tidak realistis untuk mengimplementasikan p2p database?


32
2018-05-21 02:18


asal


Jawaban:


Jika Anda tertarik dengan basis data non-relasional, ada banyak toko nilai kunci P2P transaksional dan non-transaksional, seperti memcached (dalam kelompok kerja), atau implementasi Distributed Hash Table (DHT) yang berbeda melalui Internet sebagai utuh (misalnya BISA, Chord, Pastry, Permadani, dan Chimera).

Inilah titik awal yang bagus: http://en.wikipedia.org/wiki/Distributed_hash_table


8
2017-10-23 14:35



Anda menyebut Skype, dan ini adalah contoh yang bagus. AFAIK, Skype mendistribusikan basis data mereka lintas rekan.

Namun, perhatikan bahwa mereka memiliki paten pada beberapa jenis basis data yang didistribusikan di atas rekan-rekan. Jika Anda menulis sesuatu, pastikan Anda tidak menginjak paten mereka!

Saya percaya itu adalah bagian dari alasan mereka dijual lebih dari $ 8 miliar kepada Microsoft.

Saya mengusulkan agar Anda membaca sedikit tentang JoltID (perusahaan) yang memegang hak kekayaan intelektual untuk paten AS 7.480.658 "meliputi sistem basis data terdistribusi dan komputasi peer-to-peer terdesentralisasi yang terkoordinasi"


5
2017-09-18 10:58



Jawaban terlambat, tetapi mungkin berguna untuk orang lain yang memiliki pertanyaan yang sama. Saya setuju dengan @JVerstry dalam implementasi database P2P biasanya hanya komunikasi dan lapisan sinkronisasi yang ditempatkan di atas database standar.

Saya tahu sebuah proyek yang pada dasarnya melakukan replikasi dua arah dan resolusi konflik pada database antara berbagai salinan jaringan, dengan setiap node memiliki salinan lengkap. Ini memang database P2P, tetapi perhatikan bahwa ada jenis lain (@Canuck benar menyebutkan DHTs, yang digunakan untuk mengimplementasikan pencarian di jaringan di mana setiap node memegang sebagian salinan dari database).

Untuk pendekatan NoSQL, Anda bisa melihat Pengungsian, yang didasarkan pada CouchDB. Saya percaya ini adalah hari-hari awal pada saat penulisan, tetapi ini terlihat menarik.


3
2017-12-04 22:09



Saya tidak yakin apakah ini menjawab pertanyaan Anda secara langsung atau tidak, tetapi tampaknya bagi saya bahwa segala jenis aplikasi yang menyimpan data secara lokal dan menawarkan untuk menyinkronkan atau membagikannya dengan contoh lain dari dirinya sendiri (atau aplikasi yang kompatibel) adalah, secara de facto, sejenis database peer to peer.

Ambil aplikasi mesin pencari terdistribusi misalnya. Ada beberapa eksperimen di area tersebut (mis. http://yacy.net). Menggunakannya, Anda memiliki indeks lokal yang dapat Anda bagikan dengan rekan-rekan Anda dan seterusnya.

Atau, lebih tepatnya, sedikit klien torrent ...

Tak satu pun dari ini berkomunikasi melalui SQL yang tepat, juga tidak ada server DB yang menyimpan informasi akun pengguna. Masing-masing dengan cara mereka sendiri, secara de facto, dalam bidang penyimpanan data terdistribusi.

Dalam setiap kasus, tujuan memiliki "server" (atau apa pun yang dirujuknya), adalah untuk menjaga agar aplikasi tidak membentuk jaringan menguraikan yang tidak saling mengenal. Sebaiknya saya sadar, tidak ada cara yang dapat diandalkan untuk mencapai hal ini dengan andal tanpa semacam titik referensi "selalu pada".

Perputaran, dalam kasus Skype, adalah bahwa selain ingin membentuk jaringan yang unik, Anda ingin a) mengotentikasi pengguna saat mereka bergabung dengan jaringan, dan b) menyimpan sejumlah (tapi tidak semua) riwayat (mis. Anda mendapatkan pemberitahuan untuk panggilan telepon tidak terjawab dan permintaan kontak, tetapi pesan obrolan yang terlewat hanya akan muncul ketika kedua klien Skype terhubung).


2
2018-05-21 08:46



Kerangka kerja P2P biasanya diimplementasikan secara independen dari database apa pun. Mereka fokus pada transportasi informasi antar node. Beberapa bergantung pada database di-memori untuk menyimpan informasi sementara. Mengenai JXTA, pengguna dapat mengkonfigurasi node untuk beroperasi dengan basis data dalam-memori atau berbasis file.

Saya telah di P2P untuk beberapa dan saya belum mendengar tentang kerangka pengguna berorientasi P2P-database sepenuhnya. Saya pikir Anda harus mengimplementasikan framework P2P favorit Anda di atas database Anda.


2
2017-07-31 11:25



Sebenarnya ada satu, tetapi perlu seorang pemelihara baru: Nabi

http://syncwith.us/

Nabi adalah jenis baru dari database yang dirancang untuk dunia pasca Web-2.0. Ini dibuat untuk memungkinkan Anda berkolaborasi dengan teman dan rekan kerja tanpa memerlukan server khusus atau penyedia internet apa pun.

Lemparan nada-nada Nabi yang bertuliskan sesuatu seperti ini:

Database berbasis tanah, semirelasional, peer to peer direplikasi, terputus, berversi, dan memiliki resolusi konflik penyembuhan sendiri.

Ini bahkan digunakan untuk membuat pelacak bug P2P yang disebut Cacat Sederhana


2
2018-01-20 21:56