<div dir="ltr">Two papers worth reading when thinking about storage and file systems:<div><br></div><div>Venti, a content addressable archival storage: <a href="http://doc.cat-v.org/plan_9/4th_edition/papers/venti/">http://doc.cat-v.org/plan_9/4th_edition/papers/venti/</a></div><div>Fossil, a filesystem that can use venti for snapshot archives: <a href="http://doc.cat-v.org/plan_9/4th_edition/papers/fossil/">http://doc.cat-v.org/plan_9/4th_edition/papers/fossil/</a></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 28 March 2017 at 12:45, Joe Armstrong <span dir="ltr"><<a href="mailto:erlang@gmail.com" target="_blank">erlang@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You're quite right - you need to know in advance the checksum of the data.<br>
<br>
But obtaining the checksum from "somewhere" is orthogonal to the problem<br>
of storing or obtaining the data. Indexing etc. is completely different problem.<br>
<span class="HOEnZb"><font color="#888888"><br>
/Joe<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Mon, Mar 27, 2017 at 11:23 PM, Richard A. O'Keefe <<a href="mailto:ok@cs.otago.ac.nz">ok@cs.otago.ac.nz</a>> wrote:<br>
><br>
>> On 27/03/2017, at 4:31 AM, Joe Armstrong <<a href="mailto:erlang@gmail.com">erlang@gmail.com</a>> wrote:<br>
>> To store <blob>,  then later<br>
>><br>
>>   GET /blob/sha256/<SHA><br>
>><br>
>> to recover the blob. <SHA> is the SHA256 checksum of the data (the<br>
>> path contains the<br>
>> type of the checksum - so you might say GETblob/md5/<MD5CHECKSUM><br>
><br>
> It seems to me that this amounts to using a checksum of the contents<br>
> of a file instead of an inode number.<br>
><br>
> What I don't understand is how I would ever use this.<br>
> When I go looking for a file, I want its *contents*,<br>
> which I don't know, otherwise I wouldn't need it.<br>
> So I *can't* compute its checksum.  With things like<br>
> Spotlight, I can use a known *part* of the content to<br>
> look for the rest of the content, but again, if I<br>
> already knew enough of the content to compute the<br>
> checksum, I wouldn't bother looking at the file.<br>
><br>
> The only way I can think of to use something like this<br>
> is to maintain some sort of name-based directory<br>
> structure on top, or some sort of IR-like inverted index<br>
> based on part of the content.<br>
><br>
><br>
______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>