💾Databases
Last updated
Last updated
Harmony uses the following database providers:
SQL Server (optional): Harmony database is used to store project management tool's domain entities such as workspaces, boards and cards. It also stores the user entities used for authentication and authorization. The only application that has a dependency to the Harmony database is the Harmony.Api. Harmony.Notifications & Harmony.Automations services, use their own databases, Harmony.Notifications.Jobs & Harmony.Automations.Jobs respectively for HangFire jobs.
PostgreSQL (optional): Same as above. You can use either SQL Server or PostgreSQL for the core databases.
MongoDB Server: MongoDB schema-less database named harmony_automation is used for implementing flexible automations. The database contains the available automation template & the per board automation configurations. The only application than can directly access the MongoDB database is the Harmony.Automations.
Redis: Harmony is a scalable system and one of its main features is that syncs all updates across all connected clients. In order to support this Harmony.SignalR, the web application responsible to read messages from RabbitMQ and push them to all connected clients via WebSocket, uses Redis Backplane for scaling out.