<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 3, 2014 at 8:40 PM, Gilad Chaplik <span dir="ltr">&lt;<a href="mailto:gchaplik@redhat.com" target="_blank">gchaplik@redhat.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">----- Original Message -----<br>
&gt; From: &quot;Liran Zelkha&quot; &lt;<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>&gt;<br>
&gt; To: &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;<br>
</div><div class="">&gt; Cc: &quot;Omer Frenkel&quot; &lt;<a href="mailto:ofrenkel@redhat.com">ofrenkel@redhat.com</a>&gt;, &quot;Eli Mesika&quot; &lt;<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>&gt;, &quot;engine-devel&quot; &lt;<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>&gt;,<br>

&gt; <a href="mailto:devel@linode01.ovirt.org">devel@linode01.ovirt.org</a><br>
&gt; Sent: Thursday, April 3, 2014 7:51:39 PM<br>
&gt; Subject: Re: [Engine-devel] vds_dynamic refactor<br>
&gt;<br>
</div><div class="">&gt; On Thu, Apr 3, 2014 at 5:33 PM, Gilad Chaplik &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt; wrote:<br>
&gt;<br>
</div>&gt; &gt; *From: *&quot;Liran Zelkha&quot; &lt;<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>&gt;<br>
&gt; &gt; *To: *&quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;<br>
&gt; &gt; *Cc: *&quot;Omer Frenkel&quot; &lt;<a href="mailto:ofrenkel@redhat.com">ofrenkel@redhat.com</a>&gt;, &quot;Eli Mesika&quot; &lt;<br>
&gt; &gt; <a href="mailto:emesika@redhat.com">emesika@redhat.com</a>&gt;, &quot;engine-devel&quot; &lt;<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>&gt;<br>
&gt; &gt; *Sent: *Thursday, April 3, 2014 5:27:56 PM<br>
&gt; &gt; *Subject: *Re: [Engine-devel] vds_dynamic refactor<br>
<div class="">&gt; &gt;<br>
&gt; &gt; True but that&#39;s no reason to have a bad schema<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m open to new ideas and truly want to understand what is bad?<br>
&gt; &gt;<br>
&gt; The problem is with both updates and selects.<br>
&gt; For selects - to get all the information for the VDS we have multiple<br>
&gt; joins. Adding another one will hurt performance even more.<br>
<br>
</div>What about creating the VDS list in the db. i.e. your patch [1] about constructing VDS objects in the engine, should occur in the db within a SP, and should be transparent to the server. that will solve the multiple table join.<br>
</blockquote><div><br></div><div>The joins are happening on the server. We have a VDS view that brings in information from many tables and we retrieve rows from it all the time. Just run an explain on a select * from vds and see for yourself.</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
[1] <a href="http://gerrit.ovirt.org/#/c/21662/" target="_blank">http://gerrit.ovirt.org/#/c/21662/</a><br>
<div class=""><br>
&gt; For updates - we have vds_static thats hardly changed. vds_statistics that<br>
&gt; changes all the time. vds_dynamic is not changed allot - but is updated all<br>
&gt; the time because of the status. I think it&#39;s best to split it to the two<br>
&gt; existing tables (BTW - relevant for VM as well)<br>
&gt;<br>
<br>
</div>- As omer stated in a separate thread static stores users config.<br>
- Updating status/pending resources in statistics sounds very racy.<br>
<br>
saying that, I think I have a valid argument for vds_on_boot table.<br>
<br>
Thanks,<br>
Gilad.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
&gt; &gt; On Apr 3, 2014 5:18 PM, &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; ----- Original Message -----<br>
&gt; &gt;&gt; &gt; From: &quot;Liran Zelkha&quot; &lt;<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>&gt;<br>
&gt; &gt;&gt; &gt; To: &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;<br>
&gt; &gt;&gt; &gt; Cc: &quot;Eli Mesika&quot; &lt;<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>&gt;, &quot;engine-devel&quot; &lt;<br>
&gt; &gt;&gt; <a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>&gt;<br>
&gt; &gt;&gt; &gt; Sent: Thursday, April 3, 2014 5:16:51 PM<br>
&gt; &gt;&gt; &gt; Subject: Re: [Engine-devel] vds_dynamic refactor<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; Don&#39;t go down that road.  Status shouldn&#39;t be saved in the db.<br>
&gt; &gt;&gt; &gt; But anyway statistics is rapidly changing. So it fits...<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; First let&#39;s have a notion of caching, then notion of shared caching, then<br>
&gt; &gt;&gt; I can start thinking of not going down that road...<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt; On Apr 3, 2014 5:14 PM, &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt; wrote:<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; &gt; &gt; &gt; From: &quot;Liran Zelkha&quot; &lt;<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; To: &quot;Eli Mesika&quot; &lt;<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; Cc: &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;, &quot;engine-devel&quot; &lt;<br>
&gt; &gt;&gt; &gt; &gt; <a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; Sent: Thursday, April 3, 2014 4:36:07 PM<br>
&gt; &gt;&gt; &gt; &gt; &gt; Subject: Re: [Engine-devel] vds_dynamic refactor<br>
&gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; I would be happy if we can lose vds_dynamic all together, and just<br>
&gt; &gt;&gt; keep<br>
&gt; &gt;&gt; &gt; &gt; &gt; vds_static and vds_statistics. Our performance will be happy too ;-)<br>
&gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; @Liran, status and pending fields are very fragile ones, IMO need<br>
&gt; &gt;&gt; separate<br>
&gt; &gt;&gt; &gt; &gt; table.<br>
&gt; &gt;&gt; &gt; &gt; @Eli, iirc, you don&#39;t have a problem with adding more tables :-)<br>
&gt; &gt;&gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; On Thu, Apr 3, 2014 at 4:33 PM, Eli Mesika &lt;<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>&gt;<br>
&gt; &gt;&gt; wrote:<br>
&gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; From: &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; To: &quot;Yair Zaslavsky&quot; &lt;<a href="mailto:yzaslavs@redhat.com">yzaslavs@redhat.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; Cc: &quot;engine-devel&quot; &lt;<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; Sent: Thursday, April 3, 2014 4:00:25 PM<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; Subject: Re: [Engine-devel] vds_dynamic refactor<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; From: &quot;Yair Zaslavsky&quot; &lt;<a href="mailto:yzaslavs@redhat.com">yzaslavs@redhat.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; To: &quot;Liran Zelkha&quot; &lt;<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; Cc: &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;, &quot;engine-devel&quot;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &lt;<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; Sent: Thursday, April 3, 2014 2:12:59 PM<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; Subject: Re: [Engine-devel] vds_dynamic refactor<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; From: &quot;Liran Zelkha&quot; &lt;<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; To: &quot;Gilad Chaplik&quot; &lt;<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Cc: &quot;engine-devel&quot; &lt;<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Sent: Thursday, April 3, 2014 2:04:29 PM<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Subject: Re: [Engine-devel] vds_dynamic refactor<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Why not move it to vds_static?<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; +1 on Liran&#39;s comment.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; +1 as well , vds_static is the place for that<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; I would prefer not to add more complexity to the  vds tables<br>
&gt; &gt;&gt; &gt; &gt; family.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; Such complexity may effect performs of queries/views.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; If you wish, you can create a view on top of vds_static named<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; vds_on_boot<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; for<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; querying of vds on boot info.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; Yair<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; That means moving almost all of vds_dynamic into vds_static<br>
&gt; &gt;&gt; except of<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; memory,<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; pending resources and status (maybe more but not much);<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; and there will not be any db separation between user input and<br>
&gt; &gt;&gt; &gt; &gt; on_boot<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; data.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; Why we should have such separation ?<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; Thanks,<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; Gilad.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; On Thu, Apr 3, 2014 at 2:00 PM, Gilad Chaplik &lt;<br>
&gt; &gt;&gt; &gt; &gt; <a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>&gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; wrote:<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Hi list,<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I propose to split vds_dynamic table into 2 tables:<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; - vds_dynamic<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; - vds_on_boot<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; We need a place to put all non-dynamic data that gets<br>
&gt; &gt;&gt; updated<br>
&gt; &gt;&gt; &gt; &gt; once<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; host is booted, and I think dynamic isn&#39;t the place for<br>
&gt; &gt;&gt; it.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; In first phase we will put there NUMA host topoplogy, but<br>
&gt; &gt;&gt; &gt; &gt; later on<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; migrate<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; all non-dynamic host data (cpu, os, etc.).<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; thoughts?<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Thanks,<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Gilad.<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Engine-devel mailing list<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Engine-devel mailing list<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; Engine-devel mailing list<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt; <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; Engine-devel mailing list<br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt; <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
&gt; &gt;&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt; &gt;<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div>