Generally speaking, you could check a version number instead of (down)loading the entire dataset to check for changes. If the version doesn't match, then you would update to the latest version.
You can try to only request the specific data needed from the server, every single time you need it, so that it will always be the latest instead of loading everything into memory ahead of time.
Updates also done normally during scheduled maintenance rather than real time.