Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-4041

Materialized views

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Won't Do
    • Trunk
    • None
    • framework
    • None
    • Bug Crush Event - 21/2/2015

    Description

      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.

      Attachments

        1. OFBIZ-4041-V2.patch
          88 kB
          Daniel Riquelme
        2. OFBIZ-4041-V2.patch
          137 kB
          Jacques Le Roux
        3. OFBIZ-4041.patch
          125 kB
          Marc Morin

        Activity

          People

            jleroux Jacques Le Roux
            mmorin@emforium.com Marc Morin
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: