keycloak-scim/server_installation/topics/database.adoc

20 lines
1.4 KiB
Text
Raw Normal View History

2016-04-27 03:02:53 +00:00
[[_database]]
== Setting up the relational database
2017-08-28 12:50:14 +00:00
{project_name} comes with its own embedded Java-based relational database called H2.
This is the default database that {project_name} will use to persist data and really only exists so that you can run the authentication
2016-04-27 21:01:22 +00:00
server out of the box. We highly recommend that you replace it with a more production ready external database. The H2 database
2016-06-01 15:50:46 +00:00
is not very viable in high concurrency situations and should not be used in a cluster either. The purpose of this chapter is to
2017-08-28 12:50:14 +00:00
show you how to connect {project_name} to a more mature database.
2016-04-27 03:02:53 +00:00
2017-08-28 12:50:14 +00:00
{project_name} uses two layered technologies to persist its relational data. The bottom layered technology is JDBC. JDBC
2016-04-27 21:01:22 +00:00
is a Java API that is used to connect to a RDBMS. There are different JDBC drivers per database type that are provided
2017-08-28 12:50:14 +00:00
by your database vendor. This chapter discusses how to configure {project_name} to use one of these vendor-specific drivers.
2016-04-27 03:02:53 +00:00
2020-07-22 08:36:48 +00:00
The top layered technology for persistence is Hibernate JPA. This is an object to relational mapping API that maps Java
2017-08-28 12:50:14 +00:00
Objects to relational data. Most deployments of {project_name} will never have to touch the configuration aspects
2016-04-27 21:01:22 +00:00
of Hibernate, but we will discuss how that is done if you run into that rare circumstance.
2016-04-27 03:02:53 +00:00
2017-08-28 12:50:14 +00:00
NOTE: Datasource configuration is covered much more thoroughly in link:{appserver_datasource_link}[the datasource configuration chapter]
in the _{appserver_admindoc_name}_.