[keycloak-dev] Simplifying realm model

Stian Thorgersen stian at redhat.com
Thu Jun 18 05:19:44 EDT 2015



----- Original Message -----
> From: "Marek Posolda" <mposolda at redhat.com>
> To: "Stian Thorgersen" <stian at redhat.com>, "keycloak dev" <keycloak-dev at lists.jboss.org>
> Sent: Thursday, 18 June, 2015 10:59:42 AM
> Subject: Re: [keycloak-dev] Simplifying realm model
> 
> +1 to go this way for realm model. For users+userSessions I would likely
> keep it in current form due to performance reasons, but for realm model
> I am not seeing any issue to store it in blob as realm model doesn't
> contain big amount of data. I am seeing just advantages and much simpler
> migration and DB maintenance, which is currently pain.

Yep, user model is much simpler in either case and isn't such a pain. We could probably clean it up a bit, but would certainly keep a proper schema for it with many tables and such.

> 
> Marek
> 
> On 18.6.2015 08:04, Stian Thorgersen wrote:
> > Maintaining and updating the realm model is a PITA. There's multiple
> > implementations each with their own adapters and entities. We also have
> > migration to deal with.
> >
> > All in all we spend a significant amount of time updating the model,
> > creating migrations and testing/fixing.
> >
> > How about everything for a realm is just stored as a single blob
> > (RealmRepresentation) and everything for a client the same
> > (ClientRepresentation)?
> >
> > We could have a single realm model provider that used the json
> > representation classes. It would delegate storing to a much simpler realm
> > store.
> >
> > The realm store would just be a key to value store. The value would just be
> > the serialized json. Implementing this and maintaining it would be much
> > simpler.
> >
> > Comments? Is this worth looking at?
> > _______________________________________________
> > keycloak-dev mailing list
> > keycloak-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/keycloak-dev
> 
> 


More information about the keycloak-dev mailing list