<div dir="auto"><div>Great idea Alessandro,<div dir="auto">some comments inline below</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il gio 27 giu 2019, 16:09 Alessandro Luccaroni - Diennea &lt;<a href="mailto:alessandro.luccaroni@diennea.com">alessandro.luccaroni@diennea.com</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="IT" link="#0563C1" vlink="#954F72">
<div class="m_-1603704270247114584WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi all,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I was thinking about sending an email to Carnagie Mellon Database Group about the entry of Herddb on
<a href="https://dbdb.io/db/herddb" target="_blank" rel="noreferrer">https://dbdb.io/db/herddb</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I’ve grouped up a bunch of information about Herd, can you check if everything seems correct?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Checkpoints =  &quot;Consistent&quot; (<a href="https://github.com/diennea/herddb/wiki/Data-storage" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/Data-storage</a> <a href="https://github.com/diennea/herddb/wiki/Checkpoints-configuration" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/Checkpoints-configuration</a>)</span></p></div></div></blockquote></div></div><div dir="auto">This is not clear to me.</div><div dir="auto">We are always respecting ACID properties. And this is not related to checkpoints.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Foreign Keys = &quot;Not Supported&quot; (<a href="https://github.com/diennea/herddb/wiki/SQL-Support" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/SQL-Support</a>)</span></p></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Ok</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal">Data Model = &quot;Relational&quot;  (<a href="https://github.com/diennea/herddb/wiki/SQL-Support" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/SQL-Support</a>)</p></div></div></blockquote></div></div><div dir="auto">Ok (relational usually means &#39;with tables&#39;)</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-US">Indexes =  &quot;B-Link&quot; &quot;BRIN&quot; (<a href="https://github.com/diennea/herddb/blob/master/herddb-utils/src/main/java/herddb/index/blink/BLink.java" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/blob/master/herddb-utils/src/main/java/herddb/index/blink/BLink.java</a> <a href="https://github.com/diennea/herddb/tree/master/herddb-core/src/main/java/herddb/index/brin" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/tree/master/herddb-core/src/main/java/herddb/index/brin</a>)</span></p></div></div></blockquote></div></div><div dir="auto">Our own BRIN is not strictly speaking the official BRIN you can find in literature, so maybe it is better to write something like BRIN-like </div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Isolation Levels = &quot;Read Committed&quot; (<a href="https://github.com/diennea/herddb/wiki/SQL-Support" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/SQL-Support</a>)</span></p></div></div></blockquote></div></div><div dir="auto">Ok</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Joins = &quot;Nested Loop join&quot; (<a href="https://github.com/diennea/herddb/wiki/SQL-Support" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/SQL-Support</a>)</span></p></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">This is not true indeed. </div><div dir="auto">IIRC we are supporting several kinds of join, driven by Apache Calcite. Maybe the most common join you will find on simple plan is the hash join, but it really depends on data and on the planner.</div><div dir="auto">We can write Joins -supported various types, as driven by Apache Calcite SQL Planner</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Query Interface = &quot;SQL&quot; &quot;Command-line/Shell&quot; (<a href="https://github.com/diennea/herddb/wiki/SQL-Support" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/SQL-Support</a>)</span></p></div></div></blockquote></div></div><div dir="auto">JDBC, proprietary API and command line</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Storage Architecture = &quot;Hybrid&quot;</span></p></div></div></blockquote></div></div><div dir="auto">Not sure what it means</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"> <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Storage Model = &quot;Key/Value&quot; &quot;N-ary Storage Model (Row/Record)&quot; (<a href="https://github.com/diennea/herddb/wiki/Data-storage" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/Data-storage</a>)</span></p></div></div></blockquote></div></div><div dir="auto">I don&#39;t know. HerdDB is mostly a key-value store, on top of which we have built an sql engine</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Storage Organization = &quot;Log-structured&quot; &quot;Heaps&quot; (<a href="https://github.com/diennea/herddb/wiki/Data-storage" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/Data-storage</a>)</span></p></div></div></blockquote></div></div><div dir="auto">Something like that</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Stored Procedures = &quot;Not Supported&quot; (<a href="https://github.com/diennea/herddb/wiki/SQL-Support" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/SQL-Support</a>)</span></p></div></div></blockquote></div></div><div dir="auto">Ok</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">System Architecture =  &quot;Shared-Nothing&quot; (<a href="https://github.com/diennea/herddb/wiki/Replication" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/Replication</a>)</span></p></div></div></blockquote></div></div><div dir="auto">Ok</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Views = &quot;Not Supported&quot; (<a href="https://github.com/diennea/herddb/wiki/SQL-Support" target="_blank" rel="noreferrer">https://github.com/diennea/herddb/wiki/SQL-Support</a>)</span></p></div></div></blockquote></div></div><div dir="auto">Ok</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="MsoNormal"><span lang="EN-US"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I’m still in doubt about some other definition, see below with some “option” using the <a href="http://dbdb.io" target="_blank" rel="noreferrer">dbdb.io</a> “nomenclature”:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">“Concurrency Control”<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>1)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Deterministic Concurrency Control</span></p></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Maybe this one</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="m_-1603704270247114584MsoListParagraph"><span lang="EN-US"><u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>2)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Multi-version Concurrency Control (MVCC)<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>3)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Optimistic Concurrency Control (OCC)<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>4)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Timestamp Ordering<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>5)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Two-Phase Locking (Deadlock Detection)<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>6)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Two-Phase Locking (Deadlock Prevention)<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">“Query Compilation”<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>1)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Code Generation</span></p></div></div></blockquote></div></div><div dir="auto">Something like that</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="m_-1603704270247114584MsoListParagraph"><span lang="EN-US"><u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>2)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">JIT Compilation<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>3)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Not Supported<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>4)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Stored Procedure Compilation<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">“Query Execution”<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>1)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Materialized Model<u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>2)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Tuple-at-a-Time Model</span></p></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Maybe this one</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="IT" link="#0563C1" vlink="#954F72"><div class="m_-1603704270247114584WordSection1"><p class="m_-1603704270247114584MsoListParagraph"><span lang="EN-US"><u></u><u></u></span></p>
<p class="m_-1603704270247114584MsoListParagraph"><u></u><span lang="EN-US"><span>3)<span style="font:7.0pt &quot;Times New Roman&quot;">     
</span></span></span><u></u><span lang="EN-US">Vectorized Model<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">But we could also use some terminology that is not currently cover (for example currently there are no DBMS mapped with either BRIN or B-Link indexes, but we support them).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:13.0pt;font-family:&quot;Arial&quot;,sans-serif">Alessandro Luccaroni</span></b><span>
<br>
</span><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,sans-serif">Platform Manager @ Diennea - MagNews<br>
</span><span style="font-size:8.5pt;font-family:&quot;Arial&quot;,sans-serif">Tel.: (+39) 0546 066100 Int. 924 - Mob.: (+39) 393 7273519</span><span><br>
</span><span style="font-size:8.5pt;font-family:&quot;Arial&quot;,sans-serif">Viale G.Marconi 30/14 - 48018 Faenza (RA) - Italy</span><span><u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<br>
<hr>
<font face="Arial" color="Black" size="2"><br>
CONFIDENTIALITY &amp; PRIVACY NOTICE<br>
This e-mail (including any attachments) is strictly confidential and may also contain privileged information. If you are not the intended recipient you are not authorised to read, print, save, process or disclose this message. If you have received this message
 by mistake, please inform the sender immediately and destroy this e-mail, its attachments and any copies. Any use, distribution, reproduction or disclosure by any person other than the intended recipient is strictly prohibited and the person responsible may
 incur in penalties.<br>
The use of this e-mail is only for professional purposes; there is no guarantee that the correspondence towards this e-mail will be read only by the recipient, because, under certain circumstances, there may be a need to access this email by third subjects
 belonging to the Company.<br>
</font>
</div>

_______________________________________________<br>
herddb-dev mailing list<br>
<a href="mailto:herddb-dev@lists.herddb.org" target="_blank" rel="noreferrer">herddb-dev@lists.herddb.org</a><br>
<a href="http://lists.herddb.org/mailman/listinfo/herddb-dev" rel="noreferrer noreferrer" target="_blank">http://lists.herddb.org/mailman/listinfo/herddb-dev</a><br>
</blockquote></div></div></div>