H2 doesn't by default have row-level locking so will only work with a low load. If you
only have a few users it should be fine, but I would certainly do some load testing before
going to production. During stress tests we didn't have many concurrent users at all
before we started getting failed requests due to lock contention.
You can enable row-level locking, see
http://www.h2database.com/html/advanced.html#mvcc,
but it looks like it's not a stable feature. You could also increase the lock
time-out.
For another embedded database you could also try Apache Derby, which has row-level
locking. I've had good experiences with it in the past.
If you want clustering, which I would consider for availability even if you don't need
it for scalability, or if you have more than a handful of users (50+?) I'd highly
recommend MySQL or PostgreSQL.
----- Original Message -----
From: "robinfernandes ." <robin1233(a)gmail.com>
To: keycloak-user(a)lists.jboss.org
Sent: Monday, 1 December, 2014 10:35:37 PM
Subject: [keycloak-user] Production Database
Hi Guys,
We were planning on using OpenLDAP along with H2, do we still need to move to
a better relational database like Postgres or MySQL for production
environments instead of H2?
Is there any major concern when using H2?
I am just curious to know because the user guide clearly mentions to "move to
a better relational database in production"
Any thoughts, comments?
Thanks,
Robin
_______________________________________________
keycloak-user mailing list
keycloak-user(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user