MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Kann ich MongoDB als Ersatz für CoreData auf iOS verwenden?

Nebenbei möchte ich anmerken, dass es eine weit verbreitete Fehleinschätzung ist, dass Core Data kein Datenbanksystem ist.

Stattdessen handelt es sich um ein Runtime-Objektgraph-Managementsystem mit persistenter Option, wenn Sie dies wünschen. Seine Hauptfunktion besteht darin, die Modellschicht des Model-View-Controller-Entwurfsmusters bereitzustellen. Als solches geht es um viel mehr, als nur um Daten auf und von einer Festplatte zu bekommen.

Core Data hat eine Lernkurve, aber meiner Erfahrung nach ist das größte Hindernis, dem viele gegenüberstehen, der Versuch, Core Data als eine Art objektorientierten Wrapper um SQL zu behandeln. Aus dieser Perspektive ist Core Data sehr verwirrend, weil es so viel zu lernen scheint, was nichts mit Beharrlichkeit zu tun hat.

Die Verwendung von Datenbanken wie SQLite, MongoDB und CouchDB für die Persistenz wird die Dinge nicht wirklich beschleunigen, denn obwohl Sie vielleicht besser verstehen, wie sie Daten auf und von der Festplatte bekommen, helfen sie überhaupt nicht bei der Verwaltung der Daten und der Beziehung zu den anderen Datenobjekten und den Objekten der UI. Sie müssen immer noch ein Datenmodell haben und das alles von Hand codieren. Wenn Ihr Datenmodell nicht extrem einfach ist, dauert das länger als das Erlernen von Kerndaten.

Der beste Weg, Kerndaten zu lernen, besteht darin, die Tatsache zu ignorieren, dass der Objektgraph überhaupt beibehalten werden kann. Beginnen Sie einfach mit der Perspektive, dass Sie viele Objekte haben, die das Datenmodell Ihrer App darstellen, und Sie müssen ihre Attribute und Beziehungen verwalten.