I see. So I see this as a potential replacement for repo-ng. Wonder if you have done any benchmark on it? The things I care about include: maximum amount of data you can store without significant drop of read/write speed; average response time for read/write operations; memory scalability (does memory consumption go up linearly or sub-linearly with the amount of stored data?); disk space requirement.<br><br>I have been troubled by various issues with repo-ng for a very long time. It would be great if we can have a more performant alternative. I'd be interested in contributing by adding the repo command protocols on top of it.<br><br>Thanks,<br>Wentao<br><div class="gmail_quote">On Thu, Apr 30, 2015 at 3:59 PM Tai-Lin Chu <<a href="mailto:tailinchu@gmail.com">tailinchu@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It uses memory-mapped files, so it has the read performance of a pure<br>
in-memory storage while still offering the persistence of standard<br>
disk-based storage.<br>
<br>
> a replacement for ndn repo?<br>
<br>
No, it does not have management protocol now, but it is very easy to<br>
create another ndn repo with "persist".<br>
<br>
> a new implementation of content store (i.e. cache) for ndn routers?<br>
<br>
No, It is for any ndn app. If a router needs disk-based storage, it<br>
can also use "persist".<br>
<br>
> or a new implementation of in-memory cache that can be used by ndn applications?<br>
<br>
No, the term "persist" in ndn-cxx in-memory cache means<br>
"eviction-less". This is entirely different.<br>
<br>
Thanks.<br>
<br>
<br>
<br>
<br>
On Thu, Apr 30, 2015 at 3:34 PM, Wentao Shang <<a href="mailto:wentaoshang@gmail.com" target="_blank">wentaoshang@gmail.com</a>> wrote:<br>
> The phrase "persistent content store" confuses me. Could you clarify that<br>
> this is intended as a replacement for ndn repo, or a new implementation of<br>
> content store (i.e. cache) for ndn routers, or a new implementation of<br>
> in-memory cache that can be used by ndn applications?<br>
><br>
> Thanks,<br>
> Wentao<br>
><br>
> On Thu, Apr 30, 2015 at 3:09 PM Tai-Lin Chu <<a href="mailto:tailinchu@gmail.com" target="_blank">tailinchu@gmail.com</a>> wrote:<br>
>><br>
>> "persist" uses BoltDB, which is based on LMDB. LMDM's super clever<br>
>> design made the key/value store very fast for reads and safe for<br>
>> writes. MVCC-like design with copy-on-write B+trees avoids locking<br>
>> database for reads during writes, and makes it possible to provide<br>
>> full ACID transactions support.<br>
>><br>
>> I believe this is the first attempt to create a high performance and<br>
>> persistent content store for NDN project. Comments are welcomed :)<br>
>><br>
>> Project page:<br>
>> <a href="https://github.com/go-ndn/persist" target="_blank">https://github.com/go-ndn/persist</a><br>
>><br>
>> Example:<br>
>> <a href="https://github.com/go-ndn/example/blob/master/producer/producer.go#L44" target="_blank">https://github.com/go-ndn/example/blob/master/producer/producer.go#L44</a><br>
>><br>
>> Cheers!<br>
>> _______________________________________________<br>
>> Ndn-interest mailing list<br>
>> <a href="mailto:Ndn-interest@lists.cs.ucla.edu" target="_blank">Ndn-interest@lists.cs.ucla.edu</a><br>
>> <a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest</a><br>
</blockquote></div>