ClickHouse resilience and recovery for DORA

What DORA's ICT risk, resilience testing, exit and incident requirements mean for a self-managed ClickHouse cluster at a financial entity, and what DeployOpen prepares for your assessors.

On this page

How ClickHouse helps meet DORA resilience requirements at a financial entity

A financial entity running a ClickHouse cluster for analytical or reporting data has been subject to DORA since 17 January 2025, under Regulation (EU) 2022/2554, Article 64. ClickHouse provides replication, BACKUP and RESTORE, and access control that support the ICT risk management and recovery expectations in DORA's Chapter II and Chapter IV, but DORA compliance is an organizational obligation. DeployOpen does not certify compliance, and no platform feature replaces the entity's own governance, documentation and testing. The platform does not cover the register of information under Article 28(3), the contract terms required by Article 30(2), the exit strategies required by Article 28(8), or the incident classification and reporting processes in Chapter III. Those remain the entity's responsibility, and each should be assigned an owner before the cluster design is final.

On the technical side, ReplicatedMergeTree tables coordinated by ClickHouse Keeper keep data available when a replica fails, and a recovered replica syncs missing data automatically. Replication does not protect against deletion or corruption, because those errors replicate too. That gap is covered by BACKUP and RESTORE to storage the entity controls, with incremental backups where the data volume requires them. Access control is handled through users, roles, row policies and settings profiles, with the default user restricted. Confirm the exact backup destinations, retention periods and restore time targets with your own risk function, since the platform documentation does not set them for you.

The evidence an examiner will ask for is the restore test record, not the backup job log. The ClickHouse backup documentation warns that a backup never test-restored will probably not restore properly when needed, and recommends regular restore tests on spare clusters. Decide who runs those tests, how often, what recovery objectives they must meet, and how results are recorded and escalated. Also confirm the support status of your ClickHouse version against the ClickHouse security policy before the audit, because patching on an unsupported version is an easy finding to raise.

Mapping DORA requirements to ClickHouse capabilities and configuration

This table pairs each DORA obligation relevant to a ClickHouse cluster with the platform capability that supports it and the configuration an assessor will expect to see. Read each row as a question: what the regulation asks for, what ClickHouse provides, and what your team must set up and evidence. The main takeaway is that ClickHouse supplies building blocks, while the register, exit plan, contract terms and test records remain your responsibility.

RequirementClickHouse capabilityConfiguration and evidence to prepare
Article 28(3): register of information on contractual arrangements for ICT servicesNot a ClickHouse feature. Self-managed deployments have no vendor contract on the data plane, but the cluster still needs an entry in your register.Record the ClickHouse server version, hosting location, operators and any support or retainer contracts. Confirm with your third-party risk team which entries apply to open-source components you run yourself.
Article 28(8): documented and tested exit strategy for ICT services supporting critical or important functionsClickHouse server is open source under Apache-2.0, so the software can be kept and run elsewhere. Data portability depends on your export and restore procedures.Document how you would move data to another cluster, using tested BACKUP exports or restore onto a spare cluster. Keep the exit test results alongside the plan.
Article 30(2): contract terms stating data location, advance notice of changes and data return on terminationData location is set by you, since the cluster runs in your infrastructure. Backups can target local disk, S3-compatible storage or Azure Blob Storage.Record the physical location of every replica, backup target and Keeper node. If a third-party host runs the infrastructure, confirm the data location and return terms in the contract.
Chapter II: ICT risk management, including protection and preventionReplicatedMergeTree tables coordinated by ClickHouse Keeper replicate data. External authenticators (LDAP, Kerberos, SSL X.509, HTTP, JWT) and access control with users, roles and row policies limit access.Run at least three Keeper nodes on dedicated hosts in production. Restrict or disable the default user, which starts with all permissions. Map roles to your access model and review them periodically.
Chapter II: recovery and resilience, including backup and replica recoveryReplication keeps copies available when a node fails, and a recovered replica syncs missing data automatically. Replication alone does not protect against human error or corruption, so BACKUP and RESTORE supply full and incremental backups.Schedule full and incremental backups to a separate storage target. Define recovery objectives for each table group and document how replica loss and data loss are handled differently.
Chapter IV: digital operational resilience testing, including backup and restore testingBACKUP and RESTORE let you restore tables, partitions or databases. The backup documentation warns that a backup never test-restored will probably not restore properly.Run scheduled restore tests on spare clusters, record the restored row counts and checks, and keep the results as evidence. Confirm the test frequency and scope with your risk function.
Chapter III: ICT-related incident logging and classificationClickHouse writes server and query activity to system tables and logs that can support incident reconstruction. Log content and retention are set by your configuration.Define which events are logged, where logs are exported, and how long they are kept. Confirm that log entries do not expose sensitive values. Link the log trail to your incident register.
Article 26(7): threat-led penetration testing attestationNot provided by ClickHouse. Penetration testing applies to the cluster and its access paths when your entity is in scope for TLPT.Include ClickHouse endpoints, authentication paths and backup storage in the test scope if your authority requires it. Confirm applicability with your competent authority.
Version support and patching, relevant to the ICT risk management frameworkThe security policy lists 26.9, 26.8, 26.7 and 26.3 as supported with security updates. Stable releases ship roughly monthly, and LTS releases are supported for a year after release.Keep the cluster on a supported version, read the changelog before each upgrade, test upgrades in a pre-production environment, and record each change in your change log.

Why a backup never restore-tested will probably fail when DORA-style resilience testing asks for it

A backup that has never been restored is an unproven assumption, and DORA-style resilience testing exists to expose that gap. ClickHouse replication does not solve this problem. The ClickHouse backup documentation states plainly that replication alone does not protect against human error or corruption: a DROP TABLE or a bad ALTER runs on every replica, and a recovered replica simply syncs the damaged state. So the cluster needs `BACKUP` and `RESTORE` output stored off-cluster, to local disk, S3-compatible storage or Azure Blob Storage, alongside the ReplicatedMergeTree replicas. Full and incremental backups can cover tables, partitions or whole databases, and the destination should sit in a failure domain the entity controls and that a single incident cannot reach.

The same documentation warns that a backup never test-restored will probably not restore properly when needed, and recommends regular restore tests on spare clusters. Treat that as the test design. A restore test on a spare cluster should prove at least four things: that the restored schema matches production, that row counts match the source at the backup point, that representative queries return the expected results, and that the elapsed time to restore fits the entity's own recovery time objective. Record the backup identifier, the restore command, the operator and the outcome each time, because those records become the evidence that supervisors and auditors will ask for.

Recovery objectives must be set by the entity, not by the platform. ClickHouse does not know how much data loss a payment or account-reporting service can tolerate, or how long it may be down before a supervisor must be informed. Ask the business owners and risk function for a recovery time objective and a recovery point objective per dataset, then check whether the backup frequency and restore duration measured in testing meet them. If they do not, the gap belongs in the ICT risk register, not in a footnote to the backup job.

Evidence a ClickHouse cluster produces for DORA reviews

A ClickHouse cluster at a financial entity produces evidence through its own operations, from restore tests and replica health to access configuration and release records. The entity also keeps evidence outside the cluster, in the register of ICT arrangements and the contract file. Auditors and competent authorities decide whether the combined record is sufficient for each entity.

Restore test records from spare clusters

Keep a dated record for each restore test: the backup name, the target spare cluster, the tables or partitions restored, row counts or checksums compared against the source, and the elapsed time. The ClickHouse backup documentation warns that a backup never test-restored will probably not restore properly when needed, so these records are the proof that recovery works. Record failures and the fixes too, since a clean history with no failures invites questions.

Replica sync and Keeper health records

Export replication queue state, replica lag and read-only flags from system tables on a schedule, and keep the Keeper node status alongside them. The replication guide notes that a recovered replica syncs missing data from a healthy replica automatically, so the record should show when a replica went out of sync, when it caught up and how long that took. Keep the alert history that flagged these events, not only the final state.

Access configuration exports

Export users, roles, row policies, settings profiles and quotas on a fixed schedule and after every change, and store the exports under version control. Show that the default user no longer holds its initial full permissions and that privileged roles map to named owners. Auditors will compare these exports with the access review records, so the two must agree on who held access and when.

External authenticator configuration

Keep the configuration for every external authenticator in use, such as LDAP, Kerberos, SSL X.509 certificates, the HTTP authenticator or JWT, with the change history showing who approved each edit. Include the directory mapping and the tests that confirmed a disabled account lost access. Because authentication often sits in a central identity system, record which system is the source of truth and where its own logs live.

Release and upgrade records

For each upgrade, record the source and target version, the changelog review, the pre-production test results and the rollback plan. Compare every running version against the supported list in the ClickHouse security policy, which currently names 26.9, 26.8, 26.7 and 26.3 as receiving security updates. Keep a dated inventory showing that no production node ran an unsupported version, and confirm the list with the vendor before each review.

Register and contract records kept outside the cluster

DORA Article 28(3) requires a register of information on contractual arrangements for ICT services, and Article 28(8) requires documented, tested exit strategies. Keep the entry for the ClickHouse deployment, the hosting location, the data return terms and the exit test results in the entity's own governance system, not on the cluster. Confirm with your legal and third-party risk teams which contracts and vendors apply to your self-managed setup.

Configuring a ClickHouse cluster to produce DORA resilience evidence

This sequence turns a self-managed ClickHouse cluster into one that can show a financial entity how it stays available, recovers data and controls access, with records that an examiner or internal auditor can check. Each step closes with an artifact that goes into the ICT risk and resilience file.

  1. Confirm the supported version line

    Before choosing a release, the platform owner checks the ClickHouse security policy to see which version lines currently receive security updates. The team then selects either a stable release or an LTS release from those supported lines, based on how often it is willing to upgrade. The ClickHouse production FAQ recommends stable releases for most production use and advises reading the changelog before any upgrade, because minor backward-incompatible changes can occur. The step is done when the chosen version, its support status and the date of the check are recorded in the change register.

  2. Build replicated tables on keeper nodes

    The data engineering and platform team creates ReplicatedMergeTree tables and places ClickHouse Keeper on at least three nodes, running on dedicated hosts in production. The replication guide recommends about 4 GB of RAM per Keeper node. Engineers should test that a replica that is taken offline catches up from a healthy replica without manual intervention, and they should record the result. This step is done when a failover test has been run and its timings, logs and node layout are saved as evidence for the ICT risk management file.

  3. Configure backups to off-cluster storage

    The operations team configures BACKUP jobs that write full and incremental backups to storage outside the cluster, such as an S3-compatible bucket or Azure Blob Storage, or a separate local disk on a different system. The documentation notes that replication does not protect against human error or corruption, so backups must be independent of the replicas they protect. Access to the backup target should be restricted and logged. The step is done when a backup has completed, its location, schedule, retention rule and access list are written into the resilience runbook.

  4. Restrict the default user and define roles

    The security team disables or restricts the default user, which starts with full permissions, and creates named users, roles, row policies, settings profiles and quotas through SQL. Privileged access should be limited to the people who run recovery. Each role should map to a documented job function so that access reviews can be compared with the directory. The step is done when a query that the default user would previously have run is rejected, and the grants export is stored with the access review records.

  5. Enable external authenticators

    The identity team connects ClickHouse to the institution's central identity source using one of the external authenticators the product supports, such as LDAP, Kerberos, SSL X.509 certificates or JWT. Local passwords for human users should be avoided where a central source exists. Each connection is tested with accounts that are enabled, disabled and recently removed, to confirm that revocation takes effect. The step is done when the test results are saved, showing that a removed user can no longer connect.

  6. Schedule and record restore tests

    The operations team restores the latest backup to a spare ClickHouse cluster on a schedule set by the entity's own policy. The product documentation warns that a backup that has never been test-restored will probably not restore properly when needed. Each test should compare row counts and checksums against production, log the restore duration and record who ran it and what failed. Findings should go into the incident and problem process. The step is done when at least one restore test has passed and its report is filed, with the next test date in the calendar.

  7. Document and rehearse the exit path

    The architecture and compliance leads document how the entity would move its ClickHouse data and schemas to another platform if the deployment had to be exited. The plan lists which tables, schemas, roles and backups would be exported, in what format, and who approves the move. A small, representative export should be run and the result loaded into a target to confirm the data and schema are usable. This matches the expectation under DORA Article 28(8) for documented, tested exit strategies for ICT services that support critical or important functions. The step is done when the exit document, the test export and the reload result are stored with the contractual register entry for the platform.

Designing an exit path from managed ClickHouse under DORA's third-party rules

Article 28(8) of DORA requires a financial entity to have documented, tested exit strategies and transition plans for ICT services that support critical or important functions. For a ClickHouse cluster, that means being able to move the analytical data and the workloads that depend on it to another environment without losing the ability to meet recovery and reporting obligations. Article 28(3) adds that the entity keeps a register of information covering all contractual arrangements for ICT services, so the ClickHouse dependency must be recorded there as well. The exit plan should name the tables, retention periods, Keeper and replica topology, backup locations and the people who run the migration, and the plan should be exercised, not just written.

Self-managed ClickHouse gives the entity direct control over where data lives and how it leaves. The server is open source under the Apache License 2.0 (SPDX: Apache-2.0), so the entity can run it in its own accounts or data centers and export data with BACKUP and RESTORE to storage it chooses. The license does not satisfy exit obligations by itself, though. It removes a licensing barrier, while the entity still has to prove that its operational tooling, backups and configurations can be reproduced elsewhere. A managed ClickHouse Cloud service, offered by ClickHouse Inc., would require the entity to check the contract against Article 30(2), which calls for stating the locations where services are provided and data processed, advance notice of changes, and data return on insolvency or termination. Ask the provider in writing for the processing and storage regions, sub-processor notice terms, and the format and timeline for returning data at exit.

Before relying on either model, confirm three points in writing. First, that the export path works at the volume and format the entity needs, which means running a restore into a separate environment and timing it. Second, that the register of information and the exit plan reference the same data inventory. Third, that the contract terms for any managed service match what the exit plan assumes. Tests for these points belong on a schedule with named owners, so the evidence can be shown to a competent authority that asks for it.

Questions financial entities ask before a DORA-focused ClickHouse review

Does DeployOpen certify that our ClickHouse cluster is DORA compliant?

No. DeployOpen does not issue certifications, attestations or audit reports. DORA sets no certification scheme, and your competent authority supervises compliance using its own powers. What DeployOpen does is prepare the ClickHouse cluster, its backup and restore procedures, its recovery documentation, its incident logging and its exit planning, and assemble the evidence that your own governance and any independent auditor will review. The conclusion about whether your entity meets its obligations remains yours and your auditor's, not ours.

What drives the effort and cost of a DORA-focused ClickHouse review?

The main drivers are the number of clusters and shards, the number and criticality of tables that support important functions, the storage footprint and backup chain length, the recovery objectives you set, how your existing identity systems connect to ClickHouse, and how broad the evidence scope is. A review that covers one cluster with clear owners costs less than one that spans several environments and third-party contracts. Ask for a written scope that lists each of these items and the deliverables that follow from them, since most engagements are fixed-scope and agreed in writing before work starts.

What does our team need to provide during the engagement?

The work needs named owners for the cluster, backups, identity and third-party contracts, plus access to the test and production environments in your own infrastructure. Your team must make decisions on recovery time and recovery point objectives, since those set how often backups run and how restores are tested. Legal or compliance staff should review contract terms covering service location, data return and exit, because those clauses sit outside technical work. Expect to supply change calendars and existing runbooks so the documentation reflects how your operations actually run.

Can our own team handle DORA resilience work for ClickHouse without a partner?

Yes, if your team already operates ClickHouse in production and can allocate time for the recurring work. The ClickHouse backup documentation warns that a backup never test-restored will probably not restore properly when needed, and recommends regular restore tests on spare clusters. Those tests, replica recovery exercises and upgrade planning are ongoing operating tasks, not a one-time project. If your team lacks ClickHouse operations experience, or cannot schedule restore tests and document results every cycle, a partner can run the initial build and hand over the runbooks, or support continues under a retainer.

How do we request a quote for a DORA-focused ClickHouse engagement?

Send a description of the environment, including the number of clusters, the tables involved, your storage and backup targets, the identity systems in use, and the recovery objectives your business has agreed. DeployOpen does not publish a price list. After reviewing that information, we prepare a written scope with deliverables, responsibilities and timelines, and the quote follows from that scope. Ask for the quote to separate one-time build work from any recurring support, restore testing or upgrade work, so you can compare options with your internal costs.

How does DORA applying since 17 January 2025 affect our urgency?

DORA has applied since 17 January 2025, so entities in scope are expected to already have ICT risk management, incident management and resilience testing in place. The Regulation is directly applicable in every member state, so there is no national transposition step to wait for. Work on a ClickHouse cluster should therefore be sequenced against your existing findings, supervisory expectations and any open remediation items. Confirm with your compliance function which obligations already apply to the cluster and which deadlines your competent authority has set, since those, not the calendar alone, determine how quickly work needs to start.

What exit options do we keep if we move away from a managed ClickHouse service?

Self-hosting the open-source server, which is licensed under the Apache License 2.0, keeps the software itself under your control, but exit planning is still required. DORA Article 28(8) asks for documented, tested exit strategies for ICT services that support critical or important functions. The plan should cover exporting data in a usable format, restoring backups into the new environment, and confirming replica recovery and retention settings. Your contracts should also state where data is processed and how it is returned on termination, as Article 30(2) requires. Confirm the exact contract terms with your legal team, because they vary by provider.

Logging ICT incidents that ClickHouse operators can prove later

The database does not decide what counts as an ICT incident, how it is classified, or when it must be reported. Those questions sit with the financial entity's incident management process under Chapter III of DORA, and with the reporting timelines and content its competent authority expects. What ClickHouse can do is supply evidence that the incident register and classification process can rely on. Before the first incident, agree with the incident response owner which events in the cluster are in scope: failed or rejected logins, changes to users, roles, row policies and settings profiles, replica lag or readonly replicas, Keeper session loss, failed or partial BACKUP jobs, and unexpected restores. Map each one to the register field it will populate.

The primary sources are the system.query_log and system.session_log tables, the server logs under the configured log path, and the system.replicas view for replication state. Query and session logs are written in the server's own tables, so they can be lost if the cluster that holds them fails with its data. Decide where they are exported, for example to a SIEM or an append-only store outside the cluster, and confirm that the export is also subject to the retention rule. Note that these logs can contain query text with sensitive values, so the masking and access rules for the log store belong in the same decision.

Retention periods for these records are not set by ClickHouse or by DORA's technical standards alone. Confirm the required period with the entity's own record-keeping policy, its legal function and its national competent authority, and write the number into the logging standard along with who approves changes to it. Test the chain once: pick a past incident in a non-production copy, trace it from the alert through the logs to the register entry, and confirm that the evidence still exists at the end of the retention window. Document the result, because an auditor or supervisor will ask how the entity knows its logs were complete.

How DeployOpen scopes and delivers DORA-ready ClickHouse configuration

DeployOpen plans, implements, hardens, backs up, documents and supports self-hosted open-source platforms inside your own infrastructure. For ClickHouse resilience and recovery, we map replication, backup, restore testing and exit planning to the DORA obligations your entity must evidence, then deliver them in your cloud accounts, data centers or restricted networks.

How we scope

  • Agree in writing which ClickHouse clusters, tables and critical or important functions fall inside the engagement
  • Record recovery objectives, replica layout, Keeper node placement and backup destinations for each cluster in scope
  • Confirm which DORA articles the deliverables support, and which parts remain your entity's own governance and reporting duties

How we build

  • Configure ReplicatedMergeTree tables, ClickHouse Keeper ensembles on dedicated hosts, and replica recovery behavior
  • Set up BACKUP and RESTORE jobs to your chosen storage, with full and incremental schedules and retention rules
  • Run scripted restore tests on a spare cluster and record the measured results against the recovery objectives agreed at scoping

How we hand over

  • Deliver runbooks for failover, restore, Keeper recovery, version upgrades and incident logging into your own ticketing system
  • Provide the ICT asset and configuration records, restore test reports and change records your audit and supervisory teams will ask for
  • Document the exit path from the platform, including data export formats and the steps to move data to another environment

How we support

  • Offer ongoing support, upgrades and recurring restore testing as a retainer after handover
  • Track supported ClickHouse release lines against the security policy and plan upgrades through a pre-production environment
  • Review backup and restore results, Keeper health and incident records with your team on an agreed cadence

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.