ofbiz-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Riquelme (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (OFBIZ-4041) Materialized views
Date Wed, 19 Sep 2012 00:19:08 GMT

    [ https://issues.apache.org/jira/browse/OFBIZ-4041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458316#comment-13458316
] 

Daniel Riquelme edited comment on OFBIZ-4041 at 9/19/12 11:19 AM:
------------------------------------------------------------------

Uploaded new Patch version adapted to rev: 1387076.-

This patch hasn't been tested thoroughly, the only test I made so far was to change a Party
entity and verified that the Materialized View changed.
A few things are missing/pending:

1) Insert entity data to new Materialized View upon creation
2) Re build Materialized View upon entities modification.

                
      was (Author: driquelme):
    Adapted to rev: 1387076
                  
> Materialized views
> ------------------
>
>                 Key: OFBIZ-4041
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4041
>             Project: OFBiz
>          Issue Type: New Feature
>          Components: framework
>    Affects Versions: SVN trunk
>            Reporter: Marc Morin
>            Assignee: Jacques Le Roux
>         Attachments: OFBIZ-4041.patch, OFBIZ-4041-V2.patch
>
>
> 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.   

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message