Какую БД и механизмы использовать для работы с разных устройств?
Пишу приложение десктоп на C#. Приложение для обработки данных - получает и хранит данные, выводит статистику. Также хочу написать приложение на Android с тем же функционалом для мобильности. Вот думаю, какую БД использовать, чтобы обе программы с ней работали и были всегда синхронизированы.
Подскажите, пожалуйста.
Логику, я так понимаю, по обработке данных будет выполнять само приложение?
В твоем случае с двумя приложениями это не правильно.
Приложение должно быть только консолью (тонкий клиент).
Вся логика по получению данных (со стороны), расчетных задач должна выполняться на сервере.
Клиенты только отправляют команды и отображают результат.
Если работаешь с большим количеством данных - то не нужно их все тянуть на клиента для расчетов и отправлять назад результаты.
Синхронизация может быть достигнута путем периодического обновления состояния клиента, либо, если клиенты взаимодействуют через сокеты с сервером, то сервер может уведомить клиента об изменившемся состоянии мнгновенно.
Абсолютно нет никакой разницы какая будет БД: MySQL, Postgre, MSSQL, да хоть Redis или Mongo...
Поскольку первым шагом надо будет делать веб-часть и писать API.
И уже через этот API будут работать все мобильные устройства, десктоп-приложение и веб.
PostgreSql - хороший выбор