Small data use case

From @paulinthought on Thu Oct 27 2016 11:32:48 GMT+0000 (UTC)

I have a use case for ipfs whereby my data would be small JSON files that would change twice after their intial creation before becoming redundant. Each user can have maybe hundreds or thousands of these data units and each user may wish to examine a collection of maybe several hundred single data units from other peoples data sets.

A single unit of data might look like this over it’s lifetime:
Saved as

{ aKey: "some string", b: "another string", c: "last string" }

then updated to

{ aKey: "some string", b: "another string", c: "last string changed", d: "extra last string" }

and finally

{ aKey: "some string", b: "another string", c: "last string changed", d: "extra last string", e: "final string. This json can now be garbage collected anytime." }

So, my question is whether ipfs is suitable for this kind of application and whether each data unit should be stored individually given that it will need to mutate or as a collection based on grouping of the aKey value defined in the JSON so that the data becomes maybe a 1mb chunk for that users collection of data units.


Copied from original issue: https://github.com/ipfs/faq/issues/190

From @RichardLitt on Thu Oct 27 2016 14:55:53 GMT+0000 (UTC)

Hey @paulinthought, good question. It sounds like orbit-db may be the solution for you; it works pretty well with dynamic data on top of IPFS. Take a look at https://github.com/haadcode/orbit-db. Specifically, take a look at the document store functionality.