Google Gears - На каком уровне поддерживается синхронизация?
У меня есть несколько вопросов о синхронизации данных. Архитектура, кажется, не ясно об этом:
Обеспечивает ли Google Gears автоматическую синхронизацию данных (от клиента к серверу и от сервера к клиенту)?
Если он обеспечивает автоматическую синхронизацию данных, то могу ли я написать функции для подключения к механизму синхронизации (на сервере и на клиенте), чтобы контролировать, какие данные синхронизируются?
Есть ли способ разделить данные на сервере? например, клиент должен иметь возможность загружать только те строки в таблице, которые связаны с ним (например, в таблице есть столбец "имя хоста"), и только те строки, которые содержат имя хоста клиента, пытающегося загрузить данные, должны быть загруженным к нему)
В основном я ищу следующее: поддерживает ли Google Gears Synchronization такие функции синхронизации данных, как репликация слиянием SQL Server? [ http://technet.microsoft.com/en-us/library/ms152746.aspx ]
3 ответа
Gears не предоставляет никаких возможностей синхронизации. Мне кажется, я помню, как слушал интервью подкаста с одним из разработчиков устройств, когда он только вышел, и он сказал, что они хотели предоставить основу для помощи в синхронизации, но понял, что потребности в синхронизации у всех были достаточно разными, что это будет слишком Трудно найти универсальное решение.
Кроме того, важно отметить, что поскольку часть базы данных Gears на самом деле является просто базой данных на стороне клиента, доступной из javascript, в Gears нет ничего, что определяло бы конкретную реализацию на стороне сервера или даже конкретный серверный API. Таким образом, такие вещи, как разделение данных, которое вы описываете, зависят от разработчика, как и от взаимодействия с сервером в целом.
Да, вы можете разделить данные на сервере так, как вы хотите... потому что нет автоматической синхронизации
Если вы посмотрите документы Google Gears, то увидите, что локальная база данных SQLite недоступна для записи. Это доступно для записи Gears, поэтому оно не может даже помочь вам с локальным кэшированием данных, которые будут отправлены на сервер. На данный момент это для кэширования данных только для чтения.