-
Databen.ch - Persistence Benchmark for the JVM (3 messages)
- Posted by: Flavio Brasil
- Posted on: April 09 2013 10:09 EDT
The first result of the databen.ch project is available. It uses a simple financial system model to test persistence frameworks scalability and consistency. The project core is implemented in Scala. An Amazon EC2 hi1.4xlarge instance is used for the execution and the AMI (Amazon Image) is published with the results. There are implementations for the Java frameworks: BatooJpa, Db4o, Ebean, EcliseLink, Hibernate and Prevayler. Also for the Scala frameworks: Activate, Slick and Squeryl. The project is open to receive pull requests and suggestions to enhance the current implementations. http://databen.chThreaded Messages (3)
- More details? by Cameron Purdy on April 11 2013 09:39 EDT
- Wow! by Cameron Purdy on April 11 2013 09:40 EDT
- Response by Flavio Brasil on April 11 2013 20:15 EDT
-
More details?[ Go to top ]
- Posted by: Cameron Purdy
- Posted on: April 11 2013 09:39 EDT
- in response to Flavio Brasil
Flavio - Very interesting, but you probably should have added: "In the interest of full disclosure, Activate is maintained by Flávio W. Brasil." So out of curiosity, how do you explain the performance differences? For example, what gives Activate an edge in this test versus the various JPA implementations? I also thought it was interesting that Postgres under Activate was significantly faster than MongoDB under Activate. Any comments on that? Peace, Cameron Purdy | Oracle (In the interest of full disclosure, the EclispeLink and the JPA teams are both in my group.) -
Wow![ Go to top ]
- Posted by: Cameron Purdy
- Posted on: April 11 2013 09:40 EDT
- in response to Cameron Purdy
Wow, it screwed with my formatting pretty badly! -
Response[ Go to top ]
- Posted by: Flavio Brasil
- Posted on: April 11 2013 20:15 EDT
- in response to Cameron Purdy
Hi Peace. Information added to the "Fairness" page. Thanks for the suggestion. There are two main reasons for the Activate scalability: efficient memory usage and in-memory optimistic locking. The efficient memory usage reduces the conversation with the database and the in-memory optimistic locking can detect transaction conflicts without having to do a database trip. These characteristics are possible because the framework is a Distributed Durable STM. I also found interesting the Mongo results. It is fast, but with scalability limitation. Researching, looks like it can't scale well because of the use of pessimistic locks on the database and/or collection when writing to it. The best PostgreSQL result uses 5 VMs with 13 threads against 1 VM with 7 threads of the Mongo result.