The Swift Entity Store is an experimental entity store that does not rely on any third-party persistence system, and instead writing directly to binary files on your local file system. Since it is intricately well aware of the UnitOfWork's behavior it is possible to optimize such store for performance. It even attempts to support full recovery from fatal crashes, such as power failure and JVM crash, during disk writes.Notable characteristics;
- It uses approximately 4-5 times more disk space than the entities stored actually takes up.
- It is approximately equally fast to make 1 commit of 1000 changes as it is to do 1000 commits of 1 change each. No significant batch loading advantage.
- UnitOfWork.discard() takes a little bit longer than UnitOfWork.complete(), due to the use of an Undo buffer that is played to restore the actual data in the binary storage.
Qi4j and the Qi4j logo are trademarks of Richard Öberg, Niclas Hedhman and the members of the Qi4j Core Team. See Qi4j licensing for more information.