<div dir="ltr"><div>Hi Avakili</div><div><br></div><div>The simplest Key-Value store is a hash table. NDN node designs have been using hash tables for CS/PIT/FIB.</div><div>One of the designs is <a href="https://ieeexplore.ieee.org/document/6665203" target="_blank">Named data networking on a router: Fast and DoS-resistant forwarding with hash tables</a>.</div><div>There are at least two successful implementations from variations of this design.</div><div><br></div><div>With everything else optimized, memory copying can become a performance bottleneck.</div><div>If your Key-Value store is in the same process as the forwarder (e.g. a hash table), and it avoids copying names and packets as much as possible, it should work well.</div><div><br></div><div>If you have a Key-Value store in a separate process (e.g. a MongoDB server connected over Unix sockets), packet names (and sometimes payload) have to be copied several times, and this would reduce performance.</div><div>With that being said, there's a <a href="https://github.com/chavoosh/ndn-mongo-fileserver" target="_blank">file server implementation</a> using MongoDB. However, its performance was only compared with a SQLite-based implementation which has less copying but much slower lookups.</div><div><br></div><div><div>Therefore, the conclusion depends on what you mean by "embed": how many copies?</div><div></div></div><div><br></div><div>Yours, Junxiao</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 16, 2020 at 2:44 AM avakili <<a href="mailto:avakili@ut.ac.ir" target="_blank">avakili@ut.ac.ir</a>> wrote:</div><div dir="ltr" class="gmail_attr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-size:10pt;font-family:Verdana,Geneva,sans-serif"><blockquote type="cite" style="padding:0px 0.4em;border-left:2px solid rgb(16,16,255);margin:0px"><div dir="auto"><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-size:10pt">
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<p>Dear Junxiao ,</p>
<p>- Thanks for nice feedback. Does it make sense to embed NoSQL service into an NDN node for name lookup issues (CS/PIT/FIB) in order to use Key-value feature? </p>
<p>- I am really interested in open NDN research issues in its networking parts. Hope you guide me to go further with my PhD research to find my problem statement dear.</p>
<p>Thanks again for your time.</p>
<p>Vakili</p>
</div></blockquote></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-size:10pt;font-family:Verdana,Geneva,sans-serif"><p style="text-align:center"><br></p>
<blockquote type="cite" style="padding:0px 0.4em;border-left:2px solid rgb(16,16,255);margin:0px">
<div dir="auto">Hi avakili
<div dir="auto"> </div>
<div dir="auto">In NDN network, the only way one node can <strong>contact</strong> another node in a different location is to send an NDN packet. If you want to use a remote database, it'll need to run over NDN. Then, how do you know where to send the packets for database queries?<br><br>Also, contacting a remote node before making each forwarding decision would significantly increase latency, and double the forwarding workload.<br><br>Yours, Junxiao</div>
<div dir="auto"><br>
<div class="gmail_quote" dir="auto">
<div class="gmail_attr" dir="ltr">On Fri, Apr 24, 2020, 00:55 avakili <<a href="mailto:avakili@ut.ac.ir" target="_blank">avakili@ut.ac.ir</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="font-size:10pt;font-family:Verdana,Geneva,sans-serif">
<p style="text-align:center"> </p>
<p>Hi dear,</p>
<p>I am thinking of putting/saving load of names in one node/router which runs NoSQL database or even have separate node with NoSQL server running inside and then for any name lookup from other nodes can contact/query to it.</p>
<p>Once names are saved in NoSQL server, using key value feature can have "faster" name lookup and any number of nodes (scalability) can contact NoSQL service running node to do name lookup.</p>
<p>Hope to get clue for my further work from your side.</p>
<p>Thanks</p>
<p>Vakili </p></div></blockquote></div></div></div></blockquote></div></blockquote><div> </div></div></div>