1

We are ingesting data to an ADX Table using stream ingestion from an event hub source.

In order to plan for backup / disaster recoverability, the documentation suggests to configure continous export to recover from local outages and provide a possibility to restore data to another cluster.

Reading through the documentation of continous data export i saw in the section "limitations" that continous export is not supported for tables configured for stream ingestion.

Now i'm a bit stuck. What is the recommended way to backup those tables?

Markus S.
  • 2,602
  • 13
  • 44

2 Answers2

1

The support for continuous export defined on streaming ingestion tables is still being worked on, it should complete within 2021.

However, please note that for disaster recovery scenarios, this is the highest effort, lowest resiliency, and longest time to recover (RPO and RTO), so while it provides the lowest cost you should be careful picking this option for DR.

Avnera
  • 7,088
  • 9
  • 14
  • Thank you for your comment. AFAIK ADX comes with 3x local redundancy out-of-the-box. In case of a local outage where all 3 copies are affected we could still protect this data via continuous export to a GRS/ZRS storage. So as incoming streaming data is backed up by event hub we could guarantee at least no data is lost although we would have to provision a new cluster and ingest historic data in the disaster case resulting in longer RTO. For higher availability the only option is to provision redundant clusters which we pay all the time. So i think we have to balance potential risk with cost. – Markus S. Aug 10 '21 at 12:46
  • 1
    The main question I think is what are your disaster recovery needs? If you need to allow the same queries to run on the latest data within a short time after the outage happened, then using continuous export will make it (very challanging) challenging, if you are only worried about losing the data, then ADX already uses Azure storage as the durable layer as you correctly wrote above. It seems that for most usage plans, having the active - hot setup provide the optimal solution cost- functionlity tradeoff. This whole discussion does not change the answer anyway -:) – Avnera Aug 10 '21 at 16:49
  • In the documentation of the active/hot configuration i read "The primary cluster in Region A performs continuous data export of all data to a storage account. The secondary replicas have access to the data using external tables." -> does this mean when the replica goes online it will be readonly up to the time the outage happens until the primary cluster is available again? – Markus S. Aug 11 '21 at 05:58
  • 1
    I don't see this in the docs, and Active/hot does not involve any continuous export, the idea is that there are two clusters, one that is active (which does ingestion and answer queries) and one which is hot, meaning it only doing ingestion, when you need to recover you just increase the caching policy, scale the cluster by adding more nodes and route the queries to it. – Avnera Aug 12 '21 at 05:56
  • This is the link to the doc i was refering to: https://learn.microsoft.com/en-us/azure/data-explorer/business-continuity-create-solution under section "Create an active-hot standby configuration". – Markus S. Aug 12 '21 at 07:51
0

If your data is coming from an Event Hub and you want to back it all up (effectively ingest it to two clusters), there is another option: create another consumer group on your EH and set the secondary cluster read from this additional consumer group.

Vladik Branevich
  • 1,180
  • 8
  • 11
  • We actually want to avoid having a second cluster up and running all the time to save the cost and bring the fallback cluster just online when needed. – Markus S. Aug 12 '21 at 08:21
  • But then what kind of a backup you are looking for? Just select Zone Resiliency for your ADX cluster and have the underling storage ZRS do the work. – Vladik Branevich Aug 18 '21 at 13:24
  • In case of a (compute-)cluster failure i would like to bring up a secondary cluster to get up and running again if the primary cluster has a longer downtime. AFAIK i can't configure 2 clusters use the same underlying storage account (which would omit the need for continuous export). As far as i can tell the active/hot standby config implements what i want but i don't know how to handle writes to the secondary storage account after failing over (see my questions above). – Markus S. Aug 23 '21 at 06:18
  • Not really. You can make one cluster to be a follower of another, but once leader goes offline, the follower will stop receiving any fresh data. – Vladik Branevich Aug 29 '21 at 11:45