SaaS мультитенантные приложения: как осуществляется импорт / экспорт / резервное копирование данных - PullRequest
1 голос
/ 18 апреля 2010

Как приложения обеспечивают импорт / экспорт (или резервное копирование) данных в многопользовательских приложениях на основе SaaS, особенно в проектах с одной базой данных?

Импорт:

Упрощение вещей. Я думаю, что базовые операции импорта полезны, например, CSV для спецификации (или способ отображения между столбцами CSV и полями в базе данных.

Экспорт:

В проектах с одной базой данных я видел экспорт XML и экспорт данных в формате HTML (сгенерированный базовым кодом)? Я бы предположил, что XML является лучшим вариантом? Как обслуживать реляционные данные? Не могли бы вы сослаться на различные вещи в XML и предоставить документацию об отношениях или позволить пользователям выяснить это?

Поставщики предоставляют экспорт / резервную копию, которую можно импортировать обратно / восстановить?

Ваши комментарии приветствуются.

1 Ответ

1 голос
/ 18 апреля 2010

Я не знаю, как это сделать, но это возможные сценарии:

  1. DB-за клиента
  2. схема-за клиента
  3. одной схемы

Случай 1 является тривиальным с точки зрения резервного копирования / восстановления (или импорта / экспорта), случай 2 аналогичен. Я бы рискнул предположить, что эти два наиболее часто используемых подхода.

Третий вариант делает экспорт / импорт трудным, но не невозможным. Основная идея заключается в том, что таблица содержит данные всех компаний, но отличает компанию по внешнему ключу. Для экспорта и импорта потребуется один и тот же тип инструмента ETL , поскольку эти действия требуют фильтрации по идентификатору компании. Процедура экспорта принимает компанию в качестве параметра и запускает задачу только для этой компании. Дамп будет иметь форму операторов вставки (например, тот, который вы можете получить с MySQL или PostgreSQL) или XML (например, созданный DDLUtils ).

Бывают ситуации, когда настройка с одной схемой оказывается полезной, но я не думаю, что многопользовательский режим является одним из них.

...