2017-01-29 4 views
2

Я искал много потоков и проблем, но я не нашел ответа. Когда я использую Realm Objects Server и клиенты подключаются к серверу, вся БД синхронизируется со всеми клиентами?Синхронизация Realm через клиентов

Другими словами, если у меня есть публичная БД с миллионами объектов, отношений и т. Д., Все клиенты имеют копию всей БД на своих устройствах?

Мне нужна функция синхронизации Realm, но я не знаю, как происходит синхронизация. Является ли синхронизация инкрементальной? У каждого пользователя есть объекты, которые необходимо выполнить для устройства?

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

Заранее благодарен!

ответ

3

В настоящее время, да. Public Realms полностью синхронизированы с устройством каждого клиента. Весь список будет первоначально загружен, когда устройство клиента будет подключаться в первый раз, и с этого момента любые дополнительные изменения будут синхронизированы в момент их создания на сервере.

Считается, что все файлы Realm уплотняются (т. Е. Все пустое выделенное пространство удаляется и все строки конденсируются), а затем сжимается с помощью gzip перед загрузкой на клиент, так что пока публичное Realm doesn ' t содержат большие двоичные капли, даже очень большие файлы должны сходить довольно быстро.

В дорожной карте добавлена ​​частичная репликация на платформу Realm Mobile. Это позволит синхронизировать только части одного файла Realm с конкретными клиентами. Однако нет конкретных планов, когда это будет выпущено.

В настоящее время проще всего сохранить основной список данных на сервере и скопировать только нужные данные в личное пространство каждого пользователя. Однако, поскольку для этого потребуется выполнить пользовательскую логику на сервере, для этого потребуются Professional или корпоративные выпуски мобильной платформы Realm.

+0

Спасибо! Я думаю, что основные проблемы возникнут после 1-2 года извлечения данных, а размер БД слишком сильно увеличивается. Я попробую с тестовым экземпляром с большим количеством данных. – mhergon

+0

Есть ли способ вычислить ожидаемый размер БД? – mhergon

+0

Не беспокойтесь! К сожалению, на данный момент. Размер может сильно различаться в зависимости от типов данных его содержимого. Удачи! Если тесты не пройдут так, как вы ожидаете, не стесняйтесь сообщать о проблеме в Realm GitHub, поэтому мы можем подробно изучить ее. – TiM

Смежные вопросы