9 | | Improvements: |
10 | | * For better performance with large amounts of data the storage layer is completely rewritten. Traversal is speedup by a new Lucene association index (#389). |
11 | | * Association user data is indexed as well (analogous to topic user data) (#389). |
12 | | * More performant architecture: A storage implementation is coded directly to the DeepaMehta model API. The additional bridging layer is dropped. The concept of a DM-independant MehtaGraph API is abolished. There is no dependency on the external Neo4j MehtaGraph library anymore (#389). |
13 | | * Modular storage layer: a new service provider interface (`de.deepamehta.core.storage.spi.DeepaMehtaStorage`) allows 3rd-party developers to implement the DeepaMehta storage layer based on alternate DBs (besides Neo4j). Storage implementations are deployed as OSGi services (#391). |
14 | | * No transactions are created anymore for DB read operations. This may yield a performance benefit (#406). |
15 | | * Delivering core events involves no runtime reflection anymore. This may yield a performance benefit (#352). |
16 | | * AssociationDefinition API is simplified and redundancy is removed from serialization format (#393). |
17 | | * Association's Instantiation associations can be queried by type (#338). |
| 9 | Main focus of !DeepaMehta 4.0.14 is better **Performance** for large data amounts. Read about the [[https://lists.berlios.de/pipermail/deepamehta-users/2013-January/000404.html|problem background]] in this posting. |
| 10 | |
| 11 | !DeepaMehta 4.0.14 comes with a completely rewritten storage layer. |
| 12 | |
| 13 | Main aspects of the new storage layer: |
| 14 | * **High-speed traversal:** Traversal is significantly speed up by utilizing a Lucene index for association metadata. In particular, highly connected nodes ("supernodes") have no negative impact on traversal speed anymore (#389). |
| 15 | * **Compact architecture:** The concept of a DM-independant !MehtaGraph API is abolished. A storage implementation is coded directly to the !DeepaMehta model API. The additional bridging layer is dropped. There is no dependency on the external Neo4j !MehtaGraph library anymore (#389). |
| 16 | * **Modular storage layer:** a new service provider interface (`de.deepamehta.core.storage.spi.DeepaMehtaStorage`) allows 3rd-party developers to implement an alternate !DeepaMehta storage layer, based on another DB than Neo4j. Storage layer implementations are deployed as OSGi services (#391). |
| 17 | * Association user data is indexed as well (like topic user data) (#389). |
| 18 | |
| 19 | Additional performance measures: |
| 20 | * For DB read operations no transactions are created anymore (#406). |
| 21 | * Delivering core events involves no runtime reflection anymore (#352). |
| 22 | |
| 23 | Further improvements: |
| 24 | * The `AssociationDefinition` API is simplified and redundancy is removed from the serialization format (#393). |