On Fri, Apr 4, 2014 at 3:15 PM, Itamar Heim <iheim(a)redhat.com> wrote:
On 04/04/2014 04:30 AM, Liran Zelkha wrote:
>
>
>
> On Thu, Apr 3, 2014 at 8:40 PM, Gilad Chaplik <gchaplik(a)redhat.com
> <mailto:gchaplik@redhat.com>> wrote:
>
> ----- Original Message -----
> > From: "Liran Zelkha" <liran.zelkha(a)gmail.com
> <mailto:liran.zelkha@gmail.com>>
> > To: "Gilad Chaplik" <gchaplik(a)redhat.com
> <mailto:gchaplik@redhat.com>>
> > Cc: "Omer Frenkel" <ofrenkel(a)redhat.com
> <mailto:ofrenkel@redhat.com>>, "Eli Mesika"
<emesika(a)redhat.com
> <mailto:emesika@redhat.com>>, "engine-devel"
<engine-devel(a)ovirt.org
> <mailto:engine-devel@ovirt.org>>,
> > devel(a)linode01.ovirt.org <mailto:devel@linode01.ovirt.org>
> > Sent: Thursday, April 3, 2014 7:51:39 PM
> > Subject: Re: [Engine-devel] vds_dynamic refactor
> >
> > On Thu, Apr 3, 2014 at 5:33 PM, Gilad Chaplik
> <gchaplik(a)redhat.com <mailto:gchaplik@redhat.com>> wrote:
> >
> > > *From: *"Liran Zelkha" <liran.zelkha(a)gmail.com
> <mailto:liran.zelkha@gmail.com>>
>
> > > *To: *"Gilad Chaplik" <gchaplik(a)redhat.com
> <mailto:gchaplik@redhat.com>>
>
> > > *Cc: *"Omer Frenkel" <ofrenkel(a)redhat.com
> <mailto:ofrenkel@redhat.com>>, "Eli Mesika" <
> > > emesika(a)redhat.com <mailto:emesika@redhat.com>>,
"engine-devel"
> <engine-devel(a)ovirt.org <mailto:engine-devel@ovirt.org>>
>
> > > *Sent: *Thursday, April 3, 2014 5:27:56 PM
> > > *Subject: *Re: [Engine-devel] vds_dynamic refactor
> > >
> > > True but that's no reason to have a bad schema
> > >
> > > I'm open to new ideas and truly want to understand what is bad?
> > >
> > The problem is with both updates and selects.
> > For selects - to get all the information for the VDS we have
> multiple
> > joins. Adding another one will hurt performance even more.
>
> 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.
>
>
> 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.
>
thought the distinction was vds_static is updated by user (configuration),
where as vds_dyanmic/statistics is reported from vdsm (slow/fast updates).
True - vds_static hardly change. But vds_dynamic is split-brain - it has
practically static data, but also has the status - which changes rapidly.
And since we have 3 tables, we need to do 3 joins to get VDS (actually we
do much more).
please remember joining them to one table, also means DWH will ETA
all of
data each time. today it will only copy statistics if dynamic did not
change.
I'm not saying joining all 3 tables to 1 table, just make them 2 tables.
And
since the data is hardly changing - same logic of DWH will stay.