dat-ecosystem-archive / DEPs

Dat Enhancement Proposals. Contains all specs for the Dat protocol, including drafts. [ DEPRECATED - see https://github.com/hypercore-protocol/hypercore-proposals for similar functionality. More info on active projects and modules at https://dat-ecosystem.org/ ]
https://dat-ecosystem.github.io/DEPs
166 stars 17 forks source link

Draft: HyperDB #3

Closed bnewbold closed 6 years ago

bnewbold commented 6 years ago

This DEP is submitted for review for Draft status.

Rendered pre-merge

A diagram showing the trie structure might be nice to help with learning, but maybe the specification isn't the right place for that. The examples are verbose, but I think are important to clarify exactly how things work. I think exact binary protobuf output (hexdump style?) could also be included for some example messages, to make encoding and endianness completely unambiguous.

pfrazee commented 6 years ago

Looking really good!

bnewbold commented 6 years ago

This is now really close. I'd like @mafintosh to look over my trie encoding stuff really quick (or just review my comment https://github.com/mafintosh/hyperdb/issues/79#issuecomment-379616618) first. There is also some ambiguity over whether the contentFeed field can actually be dynamically updated, which is being discussed in https://github.com/datprotocol/DEPs/issues/13.

There are one or two small details (eg, it would be great to check my "big-O" estimate for get() performance), and i'm a little nervous about all the nitty gritties because I haven't actually implemented any of this in working code, but I don't think those are hard blockers for Draft status.

bnewbold commented 6 years ago

@dcposch I want to re-iterate how great it is that you discovered an actual hash collision! I will update the DEP to include them as examples so promote their use as tests in independent implementations.

bnewbold commented 6 years ago

I'm pushing this for review now.

The issue of encoding "type" of a feed is still open, but I think we can handle that in a follow-on DEP.

bnewbold commented 6 years ago

@noffle I've still got you in here as a co-author in attribution of your ARCHITECTURE.md document that was very helpful when starting this DEP. However, while this is derivative, almost none of that document remains in here, and I don't want to "co-author" you without consent. Any thoughts? I'll move you down to an Acknowledgements section if I don't hear back in a day or two.

hackergrrl commented 6 years ago

@bnewbold whatever you think is appropriate is fine by me!

bnewbold commented 6 years ago

Any further comments here? Poke @mafintosh. If we could approve/merge this week that would be great (eg, at the protocol WG meeting next Wednesday at the latest).

mafintosh commented 6 years ago

Let me give this a thorough review over the weekend. At last glance this looked great!

On Thu, Apr 26, 2018, 21:04 bnewbold notifications@github.com wrote:

Any further comments here? Poke @mafintosh https://github.com/mafintosh. If we could approve/merge this week that would be great (eg, at the protocol WG meeting next Wednesday at the latest).

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/datprotocol/DEPs/pull/3#issuecomment-384755787, or mute the thread https://github.com/notifications/unsubscribe-auth/AAW_VdxWDQxlTew8YRQEA145okU8ogFUks5tsho1gaJpZM4R5LAf .

bnewbold commented 6 years ago

To be explicit: left @noffle as a co-author. Thanks for kicking this whole thing off!