<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"><<a href="mailto:gchaplik@redhat.com" target="_blank">gchaplik@redhat.com</a>></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>
> From: "Liran Zelkha" <<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>><br>
> To: "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>><br>
</div><div class="">> Cc: "Omer Frenkel" <<a href="mailto:ofrenkel@redhat.com">ofrenkel@redhat.com</a>>, "Eli Mesika" <<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>>, "engine-devel" <<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>>,<br>
> <a href="mailto:devel@linode01.ovirt.org">devel@linode01.ovirt.org</a><br>
> Sent: Thursday, April 3, 2014 7:51:39 PM<br>
> Subject: Re: [Engine-devel] vds_dynamic refactor<br>
><br>
</div><div class="">> On Thu, Apr 3, 2014 at 5:33 PM, Gilad Chaplik <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>> wrote:<br>
><br>
</div>> > *From: *"Liran Zelkha" <<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>><br>
> > *To: *"Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>><br>
> > *Cc: *"Omer Frenkel" <<a href="mailto:ofrenkel@redhat.com">ofrenkel@redhat.com</a>>, "Eli Mesika" <<br>
> > <a href="mailto:emesika@redhat.com">emesika@redhat.com</a>>, "engine-devel" <<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>><br>
> > *Sent: *Thursday, April 3, 2014 5:27:56 PM<br>
> > *Subject: *Re: [Engine-devel] vds_dynamic refactor<br>
<div class="">> ><br>
> > True but that's no reason to have a bad schema<br>
> ><br>
> > I'm open to new ideas and truly want to understand what is bad?<br>
> ><br>
> The problem is with both updates and selects.<br>
> For selects - to get all the information for the VDS we have multiple<br>
> 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>
> For updates - we have vds_static thats hardly changed. vds_statistics that<br>
> changes all the time. vds_dynamic is not changed allot - but is updated all<br>
> the time because of the status. I think it's best to split it to the two<br>
> existing tables (BTW - relevant for VM as well)<br>
><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>
> > On Apr 3, 2014 5:18 PM, "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>> wrote:<br>
> ><br>
> >> ----- Original Message -----<br>
> >> > From: "Liran Zelkha" <<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>><br>
> >> > To: "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>><br>
> >> > Cc: "Eli Mesika" <<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>>, "engine-devel" <<br>
> >> <a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>><br>
> >> > Sent: Thursday, April 3, 2014 5:16:51 PM<br>
> >> > Subject: Re: [Engine-devel] vds_dynamic refactor<br>
> >> ><br>
> >> > Don't go down that road. Status shouldn't be saved in the db.<br>
> >> > But anyway statistics is rapidly changing. So it fits...<br>
> >><br>
> >> First let's have a notion of caching, then notion of shared caching, then<br>
> >> I can start thinking of not going down that road...<br>
> >><br>
> >> > On Apr 3, 2014 5:14 PM, "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>> wrote:<br>
> >> ><br>
> >> > > ----- Original Message -----<br>
> >> > > > From: "Liran Zelkha" <<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>><br>
> >> > > > To: "Eli Mesika" <<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>><br>
> >> > > > Cc: "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>>, "engine-devel" <<br>
> >> > > <a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>><br>
> >> > > > Sent: Thursday, April 3, 2014 4:36:07 PM<br>
> >> > > > Subject: Re: [Engine-devel] vds_dynamic refactor<br>
> >> > > ><br>
> >> > > > I would be happy if we can lose vds_dynamic all together, and just<br>
> >> keep<br>
> >> > > > vds_static and vds_statistics. Our performance will be happy too ;-)<br>
> >> > > ><br>
> >> > ><br>
> >> > > @Liran, status and pending fields are very fragile ones, IMO need<br>
> >> separate<br>
> >> > > table.<br>
> >> > > @Eli, iirc, you don't have a problem with adding more tables :-)<br>
> >> > ><br>
> >> > > ><br>
> >> > > > On Thu, Apr 3, 2014 at 4:33 PM, Eli Mesika <<a href="mailto:emesika@redhat.com">emesika@redhat.com</a>><br>
> >> wrote:<br>
> >> > > ><br>
> >> > > > ><br>
> >> > > > ><br>
> >> > > > > ----- Original Message -----<br>
> >> > > > > > From: "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>><br>
> >> > > > > > To: "Yair Zaslavsky" <<a href="mailto:yzaslavs@redhat.com">yzaslavs@redhat.com</a>><br>
> >> > > > > > Cc: "engine-devel" <<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>><br>
> >> > > > > > Sent: Thursday, April 3, 2014 4:00:25 PM<br>
> >> > > > > > Subject: Re: [Engine-devel] vds_dynamic refactor<br>
> >> > > > > ><br>
> >> > > > > > ----- Original Message -----<br>
> >> > > > > > > From: "Yair Zaslavsky" <<a href="mailto:yzaslavs@redhat.com">yzaslavs@redhat.com</a>><br>
> >> > > > > > > To: "Liran Zelkha" <<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>><br>
> >> > > > > > > Cc: "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>>, "engine-devel"<br>
> >> > > > > > > <<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>><br>
> >> > > > > > > Sent: Thursday, April 3, 2014 2:12:59 PM<br>
> >> > > > > > > Subject: Re: [Engine-devel] vds_dynamic refactor<br>
> >> > > > > > ><br>
> >> > > > > > ><br>
> >> > > > > > ><br>
> >> > > > > > > ----- Original Message -----<br>
> >> > > > > > > > From: "Liran Zelkha" <<a href="mailto:liran.zelkha@gmail.com">liran.zelkha@gmail.com</a>><br>
> >> > > > > > > > To: "Gilad Chaplik" <<a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>><br>
> >> > > > > > > > Cc: "engine-devel" <<a href="mailto:engine-devel@ovirt.org">engine-devel@ovirt.org</a>><br>
> >> > > > > > > > Sent: Thursday, April 3, 2014 2:04:29 PM<br>
> >> > > > > > > > Subject: Re: [Engine-devel] vds_dynamic refactor<br>
> >> > > > > > > ><br>
> >> > > > > > > > Why not move it to vds_static?<br>
> >> > > > > > ><br>
> >> > > > > > > +1 on Liran's comment.<br>
> >> > > > ><br>
> >> > > > > +1 as well , vds_static is the place for that<br>
> >> > > > ><br>
> >> > > > > > > I would prefer not to add more complexity to the vds tables<br>
> >> > > family.<br>
> >> > > > > > > Such complexity may effect performs of queries/views.<br>
> >> > > > > > > If you wish, you can create a view on top of vds_static named<br>
> >> > > > > vds_on_boot<br>
> >> > > > > > > for<br>
> >> > > > > > > querying of vds on boot info.<br>
> >> > > > > > ><br>
> >> > > > > > > Yair<br>
> >> > > > > ><br>
> >> > > > > > That means moving almost all of vds_dynamic into vds_static<br>
> >> except of<br>
> >> > > > > memory,<br>
> >> > > > > > pending resources and status (maybe more but not much);<br>
> >> > > > > > and there will not be any db separation between user input and<br>
> >> > > on_boot<br>
> >> > > > > data.<br>
> >> > > > ><br>
> >> > > > > Why we should have such separation ?<br>
> >> > > > ><br>
> >> > > > > ><br>
> >> > > > > > Thanks,<br>
> >> > > > > > Gilad.<br>
> >> > > > > ><br>
> >> > > > > > ><br>
> >> > > > > > > ><br>
> >> > > > > > > ><br>
> >> > > > > > > > On Thu, Apr 3, 2014 at 2:00 PM, Gilad Chaplik <<br>
> >> > > <a href="mailto:gchaplik@redhat.com">gchaplik@redhat.com</a>><br>
> >> > > > > > > > wrote:<br>
> >> > > > > > > ><br>
> >> > > > > > > > > Hi list,<br>
> >> > > > > > > > ><br>
> >> > > > > > > > > I propose to split vds_dynamic table into 2 tables:<br>
> >> > > > > > > > > - vds_dynamic<br>
> >> > > > > > > > > - vds_on_boot<br>
> >> > > > > > > > > We need a place to put all non-dynamic data that gets<br>
> >> updated<br>
> >> > > once<br>
> >> > > > > the<br>
> >> > > > > > > > > host is booted, and I think dynamic isn't the place for<br>
> >> it.<br>
> >> > > > > > > > > In first phase we will put there NUMA host topoplogy, but<br>
> >> > > later on<br>
> >> > > > > > > > > migrate<br>
> >> > > > > > > > > all non-dynamic host data (cpu, os, etc.).<br>
> >> > > > > > > > ><br>
> >> > > > > > > > > thoughts?<br>
> >> > > > > > > > ><br>
> >> > > > > > > > > Thanks,<br>
> >> > > > > > > > > Gilad.<br>
> >> > > > > > > > > _______________________________________________<br>
> >> > > > > > > > > Engine-devel mailing list<br>
> >> > > > > > > > > <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
> >> > > > > > > > > <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
> >> > > > > > > > ><br>
> >> > > > > > > ><br>
> >> > > > > > > > _______________________________________________<br>
> >> > > > > > > > Engine-devel mailing list<br>
> >> > > > > > > > <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
> >> > > > > > > > <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
> >> > > > > > > ><br>
> >> > > > > > ><br>
> >> > > > > > _______________________________________________<br>
> >> > > > > > Engine-devel mailing list<br>
> >> > > > > > <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
> >> > > > > > <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
> >> > > > > ><br>
> >> > > > > _______________________________________________<br>
> >> > > > > Engine-devel mailing list<br>
> >> > > > > <a href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a><br>
> >> > > > > <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/mailman/listinfo/engine-devel</a><br>
> >> > > > ><br>
> >> > > ><br>
> >> > ><br>
> >> ><br>
> >><br>
> ><br>
> ><br>
><br>
</div></div></blockquote></div><br></div></div>