[keycloak-user] Production Database

Stian Thorgersen stian at redhat.com
Tue Dec 2 05:10:15 EST 2014


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 at gmail.com>
> To: keycloak-user at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user


More information about the keycloak-user mailing list