• Версионирование данных в базе?

    @VasyaM13221
    1) клиент хранит дату последней репликации с сервером.
    2) сервер при каждом обновлении строки обновляет столбец changetAt у строки.
    3) клиент при подключении отправляет на сервер дату своей последней репликации с сервером.
    4) сервер делает выборку по дате и отправляет id строк клиенту
    5) клиент смотрит какие id ему нужны и делает запрос на их обновление
    Ответ написан
    Комментировать
  • Версионирование данных в базе?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Если у вас в таблице 500к записей, то нет абсолютно никакого смысла скачивать ее всю на телефон за исключением одной ситуации - режима работы оффлайн. В данном случае просто делается актуальный слепок, архивируется и отправляется к клиенту. Скачать 100 МБ с телефона сейчас не проблема. При наличии интернета гораздо проще делать запросы через API.

    Если подобный вариант не устраивает, то делается все очень просто - на сервере данные никогда не удаляются, но хранится признак их удаления. Помимо этого признака хранится признак последнего обновления записи.
    На клиенте хранятся специальные мета-данные с информацией о последнем обновлении (timestamp).
    При подключении клиент запрашивает обновление со временем последнего обновления и локальным временем (видел неправильно настроенные часы миллион раз), сервер отвечает обновленными данными. Для сохранения трафика данные приходят в сжатом формате, а удаленные записи передаются отдельным фрагментом с минимальной идентфицирующей строки информацией (поля: первичный ключ или уникальный индекс). Это обеспечивает минимальный объем трафика, но работает только в одну сторону.

    Для работы в обе стороны нужен полный лог операций и система разрешения конфликтов. В целом решение так себе, для баз работающих с большим рассинхроном или высокой частотой обнолений, не решается (OT не спасет) без участия человека.

    Для обычных баз данных в режиме совместной работы настраивайте мастер-мастер репликацию с транзакциями. Для мобильных приложений используйте режим тонкого клиента.
    Ответ написан
    2 комментария
  • Как запустить рекламу сайта в Instagram?

    Karryfun
    @Karryfun
    маркетолог, SEO-оптимизатор
    Вам необходимо создать бизнес-профиль в Инсте, затем бизнес-профиль в ФБ, связать их, открыть свой рекламный кабинет и далее настраивать тартегированную рекламу, из которой можно вести клиентов на сайт. А вот как узнать, не сольете ли вы бюджет на таргетинг, будут ли оставаться пользователи на сайте, совершать конверсионные действия - можно почитав о факторах ранжирования сайта, благодаря которым сайт может считаться качественным как для поисковых движков, так и для пользователей. И продумать, подходит ли ваша тематика для социальных сетей или вам лучше зайдет контекстная. Удачи!
    Ответ написан
    1 комментарий