Ich bin gerade dabei, am Backend für eine mobile App zu arbeiten (zunächst iOS/Android, später auch Website) und ich denke darüber nach, ob Realm all meine Bedürfnisse erfüllen könnte.Gemeinsame Nutzung bestimmter Daten zwischen Realms
Die Grundidee ist, dass es zwei Arten von Benutzern gibt - Kunden und Service-Provider. Die Kunden senden gelegentlich Anfragen an den Server und werden (Echtzeit) für jedes Ereignis abonniert, das in Bezug auf diese Anfrage in der Zukunft auftreten könnte. Jeder Dienstanbieter lauscht auf bestimmte Anfragen von allen Kunden und ist derjenige, der verschiedene Ereignisse (Daten senden) für jede dieser Anfragen auslöst.
Von den Realm-Dokumenten ist es offensichtlich, dass die Echtzeit-Datensynchronisation kein Problem sein wird. Es geht mir darum, wie man das Szenario (Kunde/Dienstleister) in der Realm-Welt modellieren kann. Basierend auf dem, was ich gelesen habe, ist es bevorzugt, einen Bereich pro Benutzer zu haben. Daher nehme ich an, dass sich der Benutzer registriert und ein Realm erhalten wird. Wann immer er eine Anfrage stellt, wird sie in seinem Reich gespeichert. Jetzt stellt sich die Frage, wie der Service-Provider modelliert werden soll. Es wird verschiedene Service-Provider geben, die auf verschiedene Arten von Anfragen reagieren (verschiedene Arten von Ereignissen bis zu einer Stunde nach Anfrage auslösen). (Jeder Benutzer kann jede Anfrage senden und wird daher von jedem Service-Provider bedient.)
Ich lese ein wenig darüber, dass Realm die gemeinsame Nutzung von Daten zwischen verschiedenen Realms unterstützt, was eine Teillösung für dieses Problem sein könnte, aber ich war nicht in der Lage um herauszufinden, ob diese "Freigabe" nur bestimmte Anforderungen teilen könnte. (Dies bedeutet, dass jeder Service-Provider nur für ihn bestimmte Anfragen erhält.)
Meine Frage ist, ob dieses Szenario mit Realm machbar ist?
Wenn ich es richtig verstehe, werde ich alle Änderungen in allen Realms vornehmen, herausfinden, welcher Service-Provider dieses Event erhalten soll und es dann in seinen Realm einfügen, so dass der Bereich 'Engine' alle verbundenen Clients benachrichtigt dieses Reich (in Reichszeit). Meine einzige Sorge ist die Datenduplizierung, da die Aufzeichnung gleichzeitig in zwei Realms gespeichert wird, aber ich nehme an, dass wir das nicht umgehen können ... (Es gibt nichts Schöneres, als nur Zeiger auf Zeilen als Mittel zum Teilen von Daten zwischen Realms zu erzeugen Daten werden tatsächlich dupliziert, oder?) – user3559787
Momentan müssen Daten über Realm dupliziert werden, aber in Zukunft planen wir, Unterstützung für das Synchronisieren von Teilmengen von Daten von einem einzelnen Realm zu Clients anzubieten, sodass Sie einfach einen Link hinzufügen oder eine Eigenschaft anpassen können die Teilmenge, die an eine bestimmte Gruppe von Clients gesendet wird. –