Skip to content

A question about lot of data pending to sync #20

@jromerus

Description

@jromerus

Hello, realmius is really interesting to me so I'm trying to study the way it syncs data. I have learned that client when connects tells the server which was the last change written at client sides and the server sends only changes after that date. But looking at Realmius.Server.Exchange.RealmiusPersistentConnection at UserConnected method, server parse all the data to be sended to client in a unique operation, so all data is stored at var data and sent at CallDataDownloaded(connectionId, data).

And I wonder what will happens if, after a year of intensive use, database grows 1GB and a new client registers to the server. Have you tested this situation? Is it able to send such a big command? What happens if the connection is broken during the operation? Does it needs to send all the data again?. Don't you think it would be a better approach splitting data to be sent when iterating through pending changes inside "RealmiusServerProcessor.Download" creating a paginated cursor to database instead of the CreateQuery that returns all the pending changes?

Maybe I'm wrong or have not understood properly the flow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions