Firebase как механизм синхронизации распределенной базы данных для счетов с отключением?
Я создаю приложение для выставления счетов для iOS. Мне нужен способ синхронизации данных между несколькими устройствами одной компании, которые используют приложение. Это общие клиенты, продукт, инвентарь, счета / подробные таблицы.
Интересно, подходит ли Firebase для этого.
Главным образом, моя главная проблема заключается в том, что некоторые устройства iOS должны работать в течение некоторого времени отключенными (до 1 дня, люди работают в местах с плохой или отсутствующей связью).
Мое второе беспокойство касается некоторых клиентов, которые могут использовать его в качестве POS и генерировать большие суммы счетов для одной и той же группы компаний. Мое приложение используется для небольших супермаркетов и оптовых дистрибьюторов, поэтому некоторые путешествуют, а некоторые остаются в местном.
На первый взгляд, я думаю, что Firebase - более близкое решение для этого (я рассматриваю pusher, parse и pubnub), потому что у нас есть копия данных и она становится "хозяином базы данных".
Я думаю, у меня есть центральная база данных postgress в качестве хозяина базы данных, но, может быть, излишне с Firebase?
2 ответа
Я начал работать с Firebase около года назад после посещения хакатона Facebook в Остине. Я сразу влюбился в систему, и мне не хватает хороших слов, чтобы сказать об этом. Преимущества Firebase очевидны, но использование такой новой системы для конфиденциальной информации может быть утомительным.
1). если Firebase отключает веб-сокет, он хранит информацию, а после повторного подключения сокета завершает работу. Это замечательно и избавило нас от головной боли.
2). Он хорошо обрабатывает большие объемы данных. Я не уверен на 100%, что слежу за вашим вопросом, но, похоже, вы хотите убедиться, что он может передавать / хранить большое количество данных. Несмотря на то, что нам никогда не приходилось отправлять тонну данных за один раз, мы собрали большие объемы (пол гигабайта текста) и у нас не было реальных проблем (немного медленных для отчетности, но этого не избежать).
3). Если вы также хотите хранить всю информацию локально, вы можете передать ее в Firebase через любой бэкэнд, который может пропинговать сервер (то есть: curl).
Кроме того, одна из замечательных вещей, которые Firebase представил пару месяцев назад, была проверка (так что никто не может пропинговать Firebase и сказать им, чтобы они отбрасывали всю вашу информацию без проверки). При этом используются привилегии чтения / записи, которые очень легко настроить.
Дайте мне знать, если у вас есть еще вопросы об этом
Взгляни на Couchbase Lite
, Похоже, он предназначен для локального хранения документов JSON (+ вложения) на устройствах, подключенных время от времени, и автоматической синхронизации между устройствами.
Он не имеет такой же задержки, как Firebase - документы распределяются за 1-2 секунды, но автономное рабочее и локальное хранилище освобождаются.
Также это не услуга, хотя я думаю, что есть поставщики услуг, которые будут принимать его как единое целое.