All Categories
  • Authentication
  • Branding
  • Changelogs
  • Collaboration
  • Compliance
  • Customization
  • Desktop Client
  • External Storage
  • Frequently Asked Questions
  • Installation
  • Nextcloud Talk
  • Operations
  • Partner Products
  • Roundcubemail
  • Scalability
  • Security
  • Database architecture for Nextcloud

    This article is built in three parts. The first part describes the general concepts that will drive the design of a database for Nextcloud. The second part insists on the importance of backups, while the third part details the possible scenarios Nextcloud GmbH recommends as a database architecture for enterprise deployments of Nextcoud Hub.

    high availability, RPO/RTO, key concepts to design a database architecture

    Definition

    • High-availablility: High availability is a property of network resilience, the ability to "provide and maintain an acceptable level of service in the face of faults and challenges to normal operation." ( quote from wikipedia)
    • RTO: Recovery Time Objective - this objective should answers the question: how long time can your organization afford to live with your system down and unavailable ? (5 minutes, 1h, 2h, 8h, 1 working day, 1 day, 1 week...)
    • RPO: Recovery Point Objective - this objective should answer the question: what is for your organization the acceptable interval during which transactional data is lost from the service ? (seconds, minutes, 1 hour, 2h, 1 working day, 1 day, 1 week...)

    High-availability

    What will matter in your database architecture to meet your availability requirements, is the chosen failover mechanism.

    Is it manual or automatic ?

    Manual failover is very quick easy to setup, but takes more time to restore, hence a longer period with the system unavailable. Automatic failover can kick in nearly instantly, allowing a service to fail transparently to the application and the end-user. But automatic failover requires a more complex database architecture, hence a longer setup time.