This is a question that is pertinent to everyone developing SaaS applications today. There is no one right answer, but there are many right answers for different situations. I feel it's a valuable question to explore and the answers could help many SaaS providers as well as their customers.
Yes, it should have been closed because, as you say "there is no one right answer, but there are many right answers for different situations".
The Stack Exchange format is not suitable for polling, extended discussion, or debate. If you need to implement a data liberation service and are having trouble with one of the areas that is considered on-topic, you should describe your situation and try to find the right answer for that particular solution. When others come along, if they are in a similar situation, your question can serve as a reference. If their situation is different, they can present their situation and explain the differences and why the solutions presented in the previous question(s) are not appropriate or usable.
I think the core of the problem is that your final question was
How have you solved your own customers' "data liberation" problems?
This lands under "polling", and was likely the cause for it being closed as Not Constructive.
If you'd like to try and get it reopened, I'd suggest editing it to focus on asking specifically about your problem and how you can solve it, instead of asking how other people have solved the same problem.
In addition to that, the question itself is extremely broad and looks like you are actually asking two questions:
- How to provide clients with an up-to-date copy of their data in case your servers are ever not available
- And how to provide clients with a way to query their data on your servers without getting you involved
I'd create a separate question for each, and phrase both in the form of
- Here is what I'm looking to do
- Here are the details about my situation (database sizes, number of clients, your current solution which is making clients unhappy, etc)
- How can I accomplish this goal?
If you already are considering options (which it sounds like you are), you could change #3 to something like
Here are the options I am considering, and the pros and cons I can think of for each one. Which of these would be better for my specific situation? Or is there another option that is better than these ones that I don't know of?
Since you already have one question, I'd consider editing it down to focus on just one of your two Use Cases (probably the one that is best addressed by the existing Answers posted), and if the answers don't address the other Use Case, then post a second question focused on that specific problem.
Overall though, I thought your question was written pretty well, and would upvote you just for the effort you put into writing such a detailed question, even if it doesn't quite meet the Stack Exchange guidelines of how questions on their sites should be.