Datenhaltung in der iCloud

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Datenhaltung in der iCloud

      Ich habe ein kleines Datenhaltungsproblem in einer meiner IOS-Apps
      Es sind alles keine kritische oder sensible Daten.

      Ich versuch das mal zu beschreiben:
      • ich habe ein Datum und ein float
      • zu jedem Datum gibt es nur ein Wert
      • es gibt also maximal 365 Datensätze pro Jahr, die Datenhaltung benötigt also nur sehr wenig Platz
      • es gibt einen Ablauf, der soll prüfen ob zu dem Datum schon ein Wert existiert.
        • Falls er existiert, prüfen ob der neue Wert größer als der gespeicherte ist. Ist er größer, dann überschreiben
        • Falls zu dem Datum noch kein Entrag da ist, anlegen
      • Die Daten sollen in der iCloud gehalten werden
      • Beliebig viele Devices sollen auf die iCloud zugreifen können
      • Logging und Synchronisation ist zu vernachlässigen. Es sind keine kritischen Daten. Und gleichzeitiges speichern ist äußerst unwahrscheinlich. Falls es doch mal passieren sollte, wärs auch nicht kritisch
      • Die App funktioniert sowieso nur, wenn man ein funktionierendes Internet hat, darum ist ja dann auch die iCloud immer da
      • Ohne viel Programmieraufwand soll eine komplette Liste aller Einträge gelesen werden können
      CoreData scheint mir da irgendwie mit Kanonen auf Spatzen...

      Habt Ihr da eine Idee wie man das möglichst mit geringem Aufwand umsetzen könnte?

      Grad fällt mir key Value noch ein, damit habe ich aber noch nie gearbeitet. Wäre das geeignet? Mal Google anwerfen...
      Ich habe auch keine Loesung, aber ich bewundere das Problem!
      _____________________________________________________


      Hape42
    • Meines Erachtens definitiv ein Fall für den Key Value Store: Es klingt nicht danach, als ob Du die Hürde von 1024 Keys mit je max. 1 MB oder 1 MB in Summe reissen würdest. Dictionary oder Array in den Store und gut ist :)

      Mattes
      Diese Seite bleibt aus technischen Gründen unbedruckt.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes () aus folgendem Grund: Grössenlimit korrigiert

    • Hallo zusammen,

      wie Mattes bereits sagt, ist der Key Value Store sicherlich ein Lösungskandidat. Allerdings würde ich persönlich den KV-Store nicht für Daten mit skalierender Anzahl nutzen, eher für einzelne Setting-Flags. Wenn du von "maximal 365 Datensätzen pro Jahr" sprichst, dann wären mir das zu viel, da nach 2-3 Jahren ja durchaus schon einiges zusammenkommen würde. Hinzu kommt, dass der KV-Store meines Wissens beim App-Start vollständig in den Memory geladen wird. Ich habe hier noch nie Probleme gehabt, aber rein theoretisch könnte das zu Memory-/Performance-Problemen kommen.

      Mein Alternativ-Vorschlag: CloudKit + CoreData = NSPersistentCloudKitContainer. Tolles Teil. ;) Im Prinzip arbeitest du mit CoreData, aber Apply synct die Daten im Hintergrund voll-automatisch in die iCloud - je nach User Settings. Vorteil: durch CoreData hast du die Möglichkeit, dein Datenset in Zukunft zu erweitern, du kannst mit FetchRequest gut arbeiten und hast keine Performance-Probleme. Die ganzen Sync-Settings (User kann es aktivieren / deaktivieren) liefert Apple gleich automatisch in den Systemeinstellungen mit. Und dein Vorhaben sollte sich in CoreData in nur wenigen Zeilen umsetzen lassen.

      Viele Grüße
    • mit Key Value Store war das ja einfach.
      Wenn man jeden Monat als Array[31] speichert statt jeden tag einzeln, kommt man auch locker mit den max 1024 keys aus

      Nur eines habe ich noch nicht gefunden.
      Kann man sich "irgendwie" den Key Value Store außerhalb der App ansehen?
      Mit dem Finder in iDrive geht es schon mal nicht.
      Ich habe auch keine Loesung, aber ich bewundere das Problem!
      _____________________________________________________


      Hape42
    • Osxer schrieb:


      Wenn du von "maximal 365 Datensätzen pro Jahr" sprichst, dann wären mir das zu viel, da nach 2-3 Jahren ja durchaus schon einiges zusammenkommen würde.
      hab ja jetzt einen "monatskey" jjjjmm. 12 Datensätze pro Jahr mit maximal 31 floats pro Monat. Da kommt nicht viel zusammen

      Osxer schrieb:


      Hinzu kommt, dass der KV-Store meines Wissens beim App-Start vollständig in den Memory geladen wird.
      ahhh, deshalb ist das alles so blitzschnell, hatte mich schon gewundert wie performant das ganze ist

      Osxer schrieb:


      aber rein theoretisch könnte das zu Memory-/Performance-Problemen kommen.
      bei größerer Anzahl keys könnte ich mir das auch vorstellen, aber ich werde in 10 Jahren App-Laufzeit maximal 120 keys haben.
      Ich habe auch keine Loesung, aber ich bewundere das Problem!
      _____________________________________________________


      Hape42