Magma programming guidelines and best practices
Last updated at 8:58 pm UTC on 16 May 2006
Designing for an ODBMS
There are a number of design considerations when writing a Magma program. For more information:
Magma Commit Strategies
Optimizing Magma's Performance
About read strategies
Try to keep transactions short
Short transactions are essential for good server health and avoiding getting kicked off. That's right. Magma server will disconnect any sessions that accumulate too many "challengers". The default maximumNumberOfChallengers is 1000. That means if 1000 commits by other users are performed and you haven't refreshed, you're outta there.
Custom indexes
Custom index types must inherit from MaIndexDefinition because all index definitions are part of the protocol between clients and server. This also means that the server must be started after the custom index was created and must be present in the servers image.
Since the server requires no other domain classes (though it won't hurt to have them), you may wish to define your custom index types in a separate package.