[Engine-devel] DB performance optimization

Liran Zelkha lzelkha at redhat.com
Mon May 13 10:15:31 UTC 2013


Hi Laszlo,

I agree with both of your comments.
1. Duplicate data cache. Right now it is definitely possible. 
2. Updates. Right now there is only a time based invalidation, but that will be changed. We will add a feature to map between stored procedures and the tables they update, and will invalidate relevant data.

Caching on the SQL level is hard (harder than Hibernate 2nd level cache for instance) but that's what we have right now... (And I'm not sure that JPA/Hibernate will be better).

----- Original Message -----
From: "Laszlo Hornyak" <lhornyak at redhat.com>
To: "Liran Zelkha" <lzelkha at redhat.com>
Cc: "engine-devel" <engine-devel at ovirt.org>
Sent: Monday, May 13, 2013 12:28:59 PM
Subject: Re: [Engine-devel] DB performance optimization

Hi Liran,

Thanks for this patch, I have been asking for caching for a long while and I hope to see caching in the engine soon.

Beyond the comments I have made to your patch, I have some questions about the idea just to start the discussion.

So your cache solution is caching data based on SQL statements?
What will the cache do if we query the same data with two different SQL statements? e.g. you can query from views like vms and sometimes we only query the vm_static and we should get the same vm_static.
Also, how will you deal with updates? e.g. when you update the vm_static record, that vm_static record must be updated or invalidated but also the vm record from

Thx,
Laszlo

----- Original Message -----
> From: "Liran Zelkha" <lzelkha at redhat.com>
> To: "engine-devel" <engine-devel at ovirt.org>
> Sent: Monday, May 13, 2013 10:40:31 AM
> Subject: [Engine-devel] DB performance optimization
> 
> Hi all,
> 
> There is a WIP for caching and DB performance optimization. Please look at -
> http://gerrit.ovirt.org/#/c/14188/4
> 
> To summarize, it includes automatic caching for some business entities
> (*_static for instance), break up of VDS to VDS_static, VDS_dynamic and
> VDS_statistics, and support for batch updates.
> 
> Please share if/where you think batch updates can be used (for a usage
> scenario, please check
> InterfaceDaoDbFacadeImpl.massUpdateStatisticsForVds()).
> 
> Future tasks will include update sensitivity, better Collection caching and
> trying to minimize getConnection() calls.
> 
> Would love your comments and ideas.
> 
> Thanks.
> _______________________________________________
> Engine-devel mailing list
> Engine-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel
> 



More information about the Engine-devel mailing list