Ich entwerfe eine iPad/iPhone App mit Kerndaten. Der Hauptfokus der App ist das Sortieren und Anzeigen von bis zu 20.000 PDF-Dateien. Sie sind ~ 200 KB pro Stück. Normalerweise ist es am besten, BLOBS nicht in einer DB zu speichern, aber für Desktop-Systeme habe ich normalerweise gesehen, dass, wenn die Blobs < 1 MB sind, es in Ordnung ist, die DB zu verwenden. Irgendwelche Überlegungen, die ich berücksichtigen sollte? Wenn ich sie im Dateisystem abspeichere, kann ich sie alle in einem Verzeichnis speichern und habe keine Performance-Probleme (ich brauche keine Verzeichnisliste, da ich den Pfad jedes Pfades in der Datenbank speichern würde). Sollte ich sie in eine Handvoll Verzeichnisse aufteilen? Wenn ja, gibt es eine gute Regel für die Anzahl der Dateien pro Verzeichnis?Core Data iPad/iPhone BLOBS vs Dateisystem für 20k PDFs
9
A
Antwort
9
Ich würde für Pfade innerhalb Ihrer Datenbank gehen. Es ist schneller, durch Nachschlagen und aus Backup-Gründen. Ich benutze persönlich einen relativen Pfad zu einem Verzeichnis, so dass ich den Ordner "root" im Falle einer Systemmigration oder eines Lastausgleichs ändern kann. Sie können sie in einem einzigen Verzeichnis speichern, denn wenn Sie sie von Ihrer Datenbank aus durchsuchen, geschieht dies nach einer eindeutigen ID (wenn Ihr Schema auf diese Weise erstellt wurde).
Sie können problemlos 1 MB BLOB in SQLite (auch andere Datenbanken) speichern. Ich kann es nur nicht empfehlen.
Verwandte Themen
- 1. Core Data vs NSUserDefaults für eingeloggte Benutzerdaten
- 2. Core Data vs SQLite 3
- 3. Core Data vs Sqlite und Leistung
- 4. SQLite + Core Data Vs. Dateisystem auf Iphone App, die Fotos zeigt. Was ist leistungsfähiger?
- 5. Core Data - Dezimaltyp für Währung
- 6. Core Data NSPredate für Beziehungen
- 7. Core Data NSPredicate für Datum
- 8. Document Based App mit Core Data vs. Plain Core Data App?
- 9. Dateispeicher für Webanwendungen: Dateisystem vs DB vs NoSQL-Engines
- 10. Core Data iCloud Synchronisieren
- 11. Core Data synchronisierbar & com.apple.syncservices.Syncable
- 12. Property faul Initialisierung vs Core Data laufen in Hauptthread
- 13. Core Data Giving Error
- 14. Core Data Abrufanforderung Optimierung
- 15. Beschleunigen Core Data holen
- 16. UITableView Core Data Nachbestellung
- 17. Core Data Relationship Fault
- 18. Core Data mit JSON
- 19. Core Data Instruments für das iPhone
- 20. Core Data - Sortierdeskriptor für Eltern/Kind-Hierarchie
- 21. Entwurfsmuster für Core Data iPhone App
- 22. Core Data Datenmodell: Attributtyp für UIColor
- 23. Weird Core Data Bug
- 24. Core Data und Multithreading
- 25. Datenbank vs Dateisystem-Speicher
- 26. Core Data sperrt Hintergrundthreads
- 27. UserDefaults in Cloud vs Core Data in der Cloud
- 28. Core Data Entity umbenennen
- 29. Core Data NSFetchRequest Problem
- 30. Core Data Fault
Core Data (im Allgemeinen) verwendet SQLite als Backend, nicht MySQL. –
Ausgezeichneter Punkt. Ich hatte Backup vergessen. Die Datenbankdaten müssen gesichert werden, die PDFs jedoch nicht, da die App sie bei Bedarf immer erneut herunterladen kann. – jamone