Repository navigation
MapStore-Feedback and Questions #15470
Replies: 2 comments 1 reply
|
Hi Dominik, thank you very much for your feedback! Let me respond to your points below:
A query can have its name determined from the Yet there is a possible solution: for any storage implementation in the need to enumeration can implement a method (say
The logical layer aggregates too much logic and represents to big a cost for maintenance, since new features often required introducing new methods. For that reason, overriding logical layer will not be supported, and the only supported store API after removal of legacy store will be the map store. Composition of stores (required e.g. for LDAP support) is also only targetted to physical layer. The datastore SPI will remain but please beware it is subject to arbitrary change without deprecation period. Thank you for highlighting the importance for you to contain all areas, #15490 has been introduced to mend this.
There are certain stores that do not support arbitrary definitions of constraints, and for that reason Keycloak attempts to check if a duplicate exists in logical layer (e.g. duplicate username are checked here). Still if a constraint can be defined, it is advisable to use it for better measures. However if Cassandra does not support it, it falls into this less reliable check.
As for this one, this is correct observation, map storage does not perform as well as it could with cache. There are plans to address it by plugging a cache store on top of a to-be-cached store by using the tree store. This work is planned after the tree store would be ready. |
|
Thanks for your answer @hmlnarik !
Thats what we started with as well, but then we realized how cumbersome it is to derive all kinds of queries only based off of which SearchableFields and operators are set. So in order to be able to use the physical layer at all, a query-hint or alias like you suggested would be a godsend for us.
Very cool. This would help a lot actually. If you need help for this to make the next major release, we would certainly not hesitate to contribute as well! One question you maybe overlooked: Do you have a timeline for FileStorage yet? Since map store doesnt support MariaDB anymore, our fallback for everything not in cassandra (static data like realm configuration) is gone. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi Keycloak-Team!
We are currently looking at the new Map Storage and have feedback that may be helpful for further development of the store. Our assumption here is that you guys are giving high priority to supporting 3rd party store implementations for non-standard databases.
We are developing an implementation based on Apache Cassandra. The reason for this is the customer's infrastructure (as is probably the case for a large number of other deployment scenarios for Keycloak - the big USP of Keycloak, in our view, is its adaptability to existing infrastructure).
We have noticed the following:
Our most important questions are therefore whether it will be possible to overwrite the logical layer in the future and whether the missing providers (UserSession, AuthSession, ...) will also be included in the datastore SPI?
In addition, we would be very interested to know when we can expect an implementation of the FileStorage, so that we can simply provision everything outside of Cassandra (static configuration) via file.
How such an extension could look like can be seen here: https://github.com/opdt/keycloak-cassandra-extension
Best Regards
Dominik
All reactions