Hi H2 Group, I am trying to get my head around H2's use of multiple threads and cores. I know this topic has been dealt with before, but I am still a little confused on the topic. My questions are with regard to the default mode of H2 (not MVCC or multithreaded=true).
A) the documentation states that "most requests to the same database are synchronized". B) However, document goes on to discuss read and write locks. This feature sounds similar to Java's standard ReadWriteLock functionality, which is used to have concurrent reads on data, while preventing reading during a synchronized write. I am having difficulty understanding the two above statements. My current interpretation is that read requests (SELECT, etc) can be done in parallel, while INSERT, UPDATE, etc cannot be done in parallel. However, I am a bit doubtful that this interpretation is correct. C) In my current application, I have noticed that I can perform some concurrent operations. For example, a long running SELECT/ORDER_BY on Table A does not prevent quick selects on Table B. So, clearly some operations can be done in parallel on multiple threads/cores (perhaps it is the ORDER_BY that is done concurrently here?). Any clarification as to what operations can be done concurrently would be great. D) Finally, I am looking at a couple VPS providers to host an H2 server. Some VPS companies provide scalable CPU power by [1] providing increasing CPU time slices with a smaller number of cores, while other companies provide scalable CPU power by [2] providing a larger number of cores with out an increase in CPU time slices. Since H2 is not highly multi threaded, it seems like H2 would do better in a situation similar to [1]. Would you agree? Thanks. -Adam -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/groups/opt_out.
