The implementation of materialized views will work with any SQL database 
server. MySql, postgres, derby, oracle, etc.

It is implemented using 100% ofbiz application layer constructs, entity model, 
and entity-eca's.

Marc Morin
Emforium Group Inc. 
ALL-IN Software
519-772-6824 ext 201 
mmo...@emforium.com 

----- Original Message -----
> the Idea is good.
> Consideration though should be at a layer where all DB used by ofbiz
> can implements something similar. mysql and Postgresql are two main
> ones used. ms sql is also used.
> this is the reason, for instance that all indexes are limited to 30
> since one of the db, that is its maximum index length.
> you will find in the Data layer that ofbiz creates temporary procedure
> or Functions calls to those DB that support that.
> 
> =========================
> BJ Freeman
> Strategic Power Office with Supplier Automation
> <http://www.businessesnetwork.com/automation/viewforum.php?f=52>
> Specialtymarket.com <http://www.specialtymarket.com/>
> Systems Integrator-- Glad to Assist
> 
> Chat Y! messenger: bjfr33man
> 
> 
> Marc Morin sent the following on 12/3/2010 6:26 AM:
> > We make extensive use of view entities in our ofbiz application. We
> > have noticed that when there is a large dataset and under some
> > complex views, the query performance was not the best (not a index
> > issue, just complex joins, etc...).
> >
> > With some commercial databases like Oracle, etc... we would have
> > used materialized view semantics available for these dbms, but we
> > are using PostgreSQL.
> >
> > So, we have extended the entity layer in Ofbiz to perform the
> > materialization. This is pretty slick as all you need to do is the
> > following:
> >
> > <view-entity name="myView" materialize="true">...</view-entity>
> >
> > and the system will do the following:
> >
> > - create a backing entity called "myView" that has the same fields
> > as the view
> > - backing entity has all the indexes inherited from the component
> > entities - relations (fk,...) inherited from the component entities.
> > - perform all the ECA actions automatically on all entities used in
> > the view (direct members and nested members if case of view on
> > views). (This is an eager update strategy only).
> >
> > So, the application doesn't change, it still accesses "myView", but
> > now, it's result is returned from the backing entity instead of the
> > complex SQL statement.
> >
> > We're pretty excited about this feature!!! Really pushes Ofbiz
> > framework to next level and allows materialized views to be more
> > broadly used on dbms that don't naturally support it.
> >
> > We are prepared to contribute this feature back to the community if
> > desired. A note of caution about it though.... we have added a
> > visitor pattern to the model entities and this feature makes use of
> > it. It would need to come with it.
> >
> > Please advise.
> >
> >
> > Marc Morin
> > Emforium Group Inc.
> > ALL-IN Software
> > 519-772-6824 ext 201
> > mmo...@emforium.com
> >
> >

Reply via email to