Skip to content
This repository has been archived by the owner on Dec 18, 2024. It is now read-only.

How is this different from Dat ecosystem? #74

Open
bedeho opened this issue Aug 8, 2018 · 8 comments
Open

How is this different from Dat ecosystem? #74

bedeho opened this issue Aug 8, 2018 · 8 comments

Comments

@bedeho
Copy link

bedeho commented Aug 8, 2018

The Dat project also has secure logs, key value stores and databases built on top of single and multi author append only logs, distributed over efficient p2p protocol that only does diffs.

  • Can someone elucidate how this offers a different set of costs and benefits?
  • When should one use the Dat toolkit, and when should something like orbit be used.
@mistakia
Copy link

mistakia commented Aug 8, 2018

First, you need to compare IPFS vs Dat — as OrbitDB is built on top of IPFS via IPFS-log. There are a few discussions scattered around the web on the topic:

datproject.org/faq#dat-vs
IPFS/faqs - ipfs vs dat
stackoverflow

For my use-cases - IPFS makes more sense because of the interoperability guarantees provided by libp2p as explained here.

@bedeho
Copy link
Author

bedeho commented Aug 8, 2018

I am not really interested in that comparison, but addressing my question of how orbitdb for example is different from HyperDb will include some part of that comparison also.

@RichardLitt
Copy link
Contributor

This is a good question! @haadcode, I suspect you might be able to help the most, here?

@haadcode
Copy link
Member

haadcode commented Sep 6, 2018

I think @mistakia's answer is a good one as one first needs to consider the underlying storage and transport systems (IPFS vs. Dat) as that's more the defining factor for data formats, hash formats, transport protocols, storage APIs, etc. and those will have the biggest effect on "costs and benefits" and "when should one use the Dat toolkit, and when should something like orbit be used", I believe.

I'm not best equipped to make a full comparison but, from OrbitDB's perspective, what IPFS has that (afaik) Dat doesn't is functionality (and concept) for storing "objects". That is, storing any data in addition to storing files. This is actually imho something many don't see at first due to the "FileSystem" in IPFS, but IPFS works as a general data storage and transport system and files are only one notion of data.

As for hyperdb and OrbitDB: first, I'm big fan of the work @mafintosh is doing in the Dat/hyper* ecosystem! Not having looked throughly into hyperdb and based on a quick look around, I believe the biggest difference between the two is that OrbitDB has the concept of "Stores" enabling multiple data models (any, really) whereas hyperdb is focused to be a key-value database. I believe the underlying data structures are similar, an append-only log, but the semantics and implementation are prolly slightly different.

Would love to hear more comparisons and comments and build the knowledge here as well as in the Dat community so users can make an educated decision! Perhaps @noffle @mafintosh and others can add more detail from hyperdb/dat perspective? 🙏

@bedeho
Copy link
Author

bedeho commented Sep 6, 2018

Likewise. The fact that one critically relies on CRDTs (which I am not very familiar with), while the other does not, would to my mind suggest that there have to be some pretty substantial differences in tradeoffs.

@aphelionz
Copy link
Collaborator

@bedeho Closing this for now and I'd like to refer you to the new OrbitDB Field Manual, which aims to answer these sort of questions with the depth and breadth they deserve. If something there is unclear or if you have more questions, please open an issue!

@RichardLitt
Copy link
Contributor

This is a bit of a different question than the Guide is currently able to answer - although we should probably include it in there! For now, reopening this as relevant to some of our users.

@RichardLitt RichardLitt reopened this Aug 8, 2019
@aphelionz
Copy link
Collaborator

Moving to Field Manual to discuss further

@aphelionz aphelionz transferred this issue from orbitdb/orbitdb Sep 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants