MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Posso usar o MongoDB como substituto do CoreData no iOS?


Como um aparte, observarei que é um equívoco comum, mas o Core Data não é um sistema de banco de dados.

Em vez disso, é um sistema de gerenciamento de gráfico de objeto em tempo de execução com persistente adicionado como opção, se você quiser. Sua função principal é fornecer a camada de modelo do padrão de projeto Model-View-Controller. Como tal, ele lida com muito mais do que apenas colocar e retirar dados de um disco.

O Core Data tem uma curva de aprendizado, mas na minha experiência o maior obstáculo que muitos enfrentam é tentar tratar o Core Data como algum tipo de wrapper orientado a objetos em torno do SQL. A partir dessa perspectiva, o Core Data é muito confuso porque parece exigir muito aprendizado que não tem nada a ver com persistência.

Usar banco de dados como SQLite, MongoDB e CouchDB para persistência não vai acelerar as coisas porque, embora você possa entender melhor como eles colocam e retiram dados do disco, eles não ajudarão em nada no gerenciamento dos dados e do relacionamento para os outros objetos de dados e os objetos da interface do usuário. Você ainda precisa ter um modelo de dados e terá que codificar tudo isso manualmente. A menos que seu modelo de dados seja extremamente simples, isso levará mais tempo do que aprender Core Data.

A melhor maneira de aprender Core Data é ignorar o fato de que o gráfico do objeto pode ser persistido. Basta começar a partir da perspectiva de que você tem muitos objetos que representam o modelo de dados do seu aplicativo e precisa gerenciar seus atributos e relacionamentos.