submit a Jira so it can be evaluated.
https://cwiki.apache.org/confluence/display/OFBADMIN/OFBiz+Contributors+Best+Practices

=========================
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 8:18 AM:
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