orbitdb / field-manual

The Offical User's Guide to OrbitDB

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Network latency/connection speed?

Bambofy opened this issue · comments

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?

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.

thanks! see you at diffuse Berlin!