Yes, it is recommended to use separate databases for Ory Hydra and Ory Kratos, even when they exist in the same system. The official Ory documentation and example configurations consistently show Hydra and Kratos using their own dedicated databases. For example, in the provided docker-compose and setup guides, Hydra is configured to use a database named hydra, while Kratos uses a separate database named kratos, each with their own users and credentials. This separation helps ensure data integrity and avoids potential conflicts between the two services, as they have different data models and migration requirements [Run Ory Hydra in Docker](
https://www.ory.sh/docs/hydra/self-hosted/configure-deploy/) [Deploy to production](
https://www.ory.sh/docs/kratos/guides/deploy-kratos-example/). There is no explicit statement in the knowledge sources that strictly forbids sharing a database, but all official examples and best practices use separate databases for each service.