<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">IMO sqlite is a good fit here.<div class=""><br class=""><div class="">- The codebase overhead is extremely low (sqlite amalgamation is 1 source file, so we don’t even need a new external dependency)</div><div class="">- As Renato mentioned, sqlite supports in-memory databases and I’ve had positive experiences using them myself</div><div class="">- sqlite is rock solid, well understood, easy to debug, and fast enough for our purposes</div><div class=""><br class=""></div><div class="">My thoughts on the other suggestions in this thread:</div><div class=""><br class=""></div><div class="">- libgit2 - agree with Renato, this library has a massive amount of complexity compared to the sliver of functionality we’d be using</div><div class="">- BerkelyDB - overkill for this task and a big (as in size) dependency</div><div class="">- unqlite - looks neat but I see no reason to use this over sqlite, which has much larger traction</div><div class=""><br class=""></div><div class="">My 2c.</div></div><div><br class=""><blockquote type="cite" class=""><div class="">On Jun 19, 2018, at 4:17 AM, <<a href="mailto:olivier.dugeon@orange.com" class="">olivier.dugeon@orange.com</a>> <<a href="mailto:olivier.dugeon@orange.com" class="">olivier.dugeon@orange.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">
<div text="#000000" bgcolor="#FFFFFF" class=""><p class=""><font face="Ubuntu" class="">Hello Renato, Donal<font face="Ubuntu" class="">d,</font></font></p><p class=""><font face="Ubuntu" class=""><font face="Ubuntu" class=""><font face="Ubuntu" class="">As we
need a Data<font face="Ubuntu" class="">base <font face="Ubuntu" class="">which
is suitable for</font> the embedded constra<font face="Ubuntu" class="">ints, why not also looking to Be<font face="Ubuntu" class="">rkley DB or UnQlite<font face="Ubuntu" class="">.</font></font></font></font></font></font></font></p><p class=""><font face="Ubuntu" class=""><font face="Ubuntu" class=""><font face="Ubuntu" class=""><font face="Ubuntu" class=""><font face="Ubuntu" class=""><font face="Ubuntu" class=""><font face="Ubuntu" class="">Both of them are written in C, simple
to <font face="Ubuntu" class="">link and </font>store all
the database in a single file and of course <font face="Ubuntu" class="">a<font face="Ubuntu" class="">re design for
the embedded devices.</font></font></font></font></font></font></font></font></font><br class="">
</p>
my 2 cts,<br class="">
<br class="">
Olivier<br class="">
<br class="">
<div class="moz-cite-prefix">Le 19/06/2018 à 03:27, Renato Westphal
a écrit :<br class="">
</div>
<blockquote type="cite" cite="mid:CAB6ZmXHHGh2+6-Gt09xf0p3i+cRAuR8NyZs7NEf1gtiaN6PFTQ@mail.gmail.com" class="">
<pre wrap="" class="">@Vincent Thanks for your suggestion. I think libgit2 could be a good
fit in the sense that we would store only the deltas instead of full
configurations. But other than that, I think libgit2 would introduce
more complexity and would bring other challenges to solve. I'll
analyze this more carefully tomorrow.
@Donald Yes, Martin raised the same concern last time I talked to him.
Using the SQLite solution this wouldn't be a problem since SQLite
supports in-memory databases. As a matter of fact, this shouldn't be a
problem for any solution we choose as long as we store the
transactions on a tmpfs directory.
On Mon, Jun 18, 2018 at 9:10 PM, Donald Sharp
<a class="moz-txt-link-rfc2396E" href="mailto:sharpd@cumulusnetworks.com"><sharpd@cumulusnetworks.com></a> wrote:
</pre>
<blockquote type="cite" class="">
<pre wrap="" class="">Given the state of hard drives on whitebox switches, I think we need
to carefully evaluate doing anything that might further involve a file
system.
donald
On Mon, Jun 18, 2018 at 8:03 PM, Vincent Jardin
<a class="moz-txt-link-rfc2396E" href="mailto:vincent.jardin@6wind.com"><vincent.jardin@6wind.com></a> wrote:
</pre>
<blockquote type="cite" class="">
<pre wrap="" class="">What's about using libgit2 ?
<a class="moz-txt-link-freetext" href="https://libgit2.github.com/docs/guides/101-samples/">https://libgit2.github.com/docs/guides/101-samples/</a>
_______________________________________________
dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dev@lists.frrouting.org">dev@lists.frrouting.org</a>
<a class="moz-txt-link-freetext" href="https://lists.frrouting.org/listinfo/dev">https://lists.frrouting.org/listinfo/dev</a>
</pre>
</blockquote>
</blockquote>
<pre wrap="" class="">
</pre>
</blockquote>
<br class="">
<pre class="">_________________________________________________________________________________________________________________________
Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.
</pre></div>
_______________________________________________<br class="">dev mailing list<br class=""><a href="mailto:dev@lists.frrouting.org" class="">dev@lists.frrouting.org</a><br class="">https://lists.frrouting.org/listinfo/dev<br class=""></div></blockquote></div><br class=""></body></html>