Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Network latency/connection speed? #101

Open
Bambofy opened this issue Oct 4, 2019 · 2 comments
Open

Network latency/connection speed? #101

Bambofy opened this issue Oct 4, 2019 · 2 comments

Comments

@Bambofy
Copy link

Bambofy commented Oct 4, 2019

Hi, i am wondering about how quickly an orbitdb database is. Say if you have 10 users seeding one database, what would the connection speed be for a server to access this database? How is it calculated?

@aphelionz
Copy link
Member

Hi @Bambofy.. Good question. I'll answer here and then transfer this issue to the field-manual repo to use as fodder for more writing.

Once a database is connected via the proper multiaddr, it swarms with the p2p network and starts listening via pubsub on that multiaddr and listens for peers. When peers are detected, a small "heads exchange" takes place via pubsub with a relatively small payload - the hashes of the "heads", or latest entries that each peer knows about. From there, all replication happens locally.

Ideally, those peers have already done this exchange with each other so the latest heads will be known by all peers currently listening so it should be quick, and since replication is deterministic you should only need ONE peer to report the latest heads.

From there, you'd then need to get the data from IPFS based on those heads which is N number of ipfs.dag.get requests to the IPFS network to get N number of entries.

@aphelionz aphelionz transferred this issue from orbitdb/orbitdb Oct 4, 2019
@Bambofy
Copy link
Author

Bambofy commented Oct 6, 2019

thanks! see you at diffuse Berlin!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants