Задать вопрос

Как реализовать синхронизацию локальной БД с сервером в десктопном приложении?

Добрый день.
Суть вопроса:
Представим, что есть .Net десктопное приложение с локальной БД, установленное у ряда клиентов, у каждого клиента своя база.
Нужно синхронизировать клиентские базы с сервером, чтобы "администратор сервера" мог смотреть статистику/отчеты по базам и т.д.
Планируется использовать в качестве сервера Azure. Как лучше организовать синхронизацию?
- SQL база данных на Azure + SQLite локально;
- Виртуальная машина с сервером MS SQL на Azure и допустим MSSQL Express локально?

Клиентам работать напрямую с сервером неудобно, ибо у них 90% рабочего времени нет доступа в интернет.
  • Вопрос задан
  • 2949 просмотров
Подписаться 8 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
Nipheris
@Nipheris Куратор тега C#
Попробуйте SymmetricDS, этот проект как раз посвящен синхронизации (репликации) в master-master архитектуре с учётом непостоянного соединения между узлами. Ажура вроде как поддерживается. Что ставить на кл иенте - зависит от размера и требований к базе. Скорее всего хватит SQLite.
Ответ написан
Комментировать
mahoho
@mahoho
Full stack certified PHP developer.
Вы ищете MERGE replication, которая создана как раз для этого - офлайн клиенты периодически забирают данные с publisher'а, что-то делают в офлайне, потом синхноринизуются обратно с publisher'ом. В Azure у вас будет Publisher, офлайн клиенты - SQL Server Express в режиме Subscriber.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы