2012-05-06 7 views
9

Есть ли стабильная база данных nosql для iOS, кроме Couchbase? Couchbase теперь является бета-версией, которую я не хочу использовать в приложении со многими пользователями. (Хотя мне очень нравится Couchbase)Есть ли стабильная база данных nosql для iOS, кроме Couchbase?

Любые предложения? Специальные Thx!

ответ

15

Существует несколько проектов, позволяющих получить совместимый с CouchDB API, доступный на мобильных устройствах.

  • TouchDB, родной IOS построить
  • PouchDB, реализация HTML5, для веб-сайтов и PhoneGap приложений
+0

Спасибо за тонну! Это то, что я ищу – OpenThread

+0

Добро пожаловать. Удачи с вашим проектом. – JasonSmith

+2

Теперь мы должны использовать https: // github.com/couchbase/couchbase-lite-ios вместо TouchDB (от разработчиков TouchDB) – VietHung

6

Редактировать (апрель, 2016 г.):

  • Realm.io это путь в наши дни.

Также обратите внимание на этот ключевой/значение базы данных, которые были портированы (обернутые) для прошивкой:

  • LevelDB (порт: NULevelDB): Сделано от Google, и это, кажется, быть одним из самых быстрых там.
  • TokyoCabinet (Port: TSDocDB): Очень быстро, но, похоже, немного устарел, на официальной странице указано, что есть новая версия (называемая KyotoCabinet), которая еще быстрее, но для этого нет порта (насколько это возможно Я знаю). И, лицензируется как LGPL (что, похоже, не полностью совместимо с AppStore).
2

Я также ищу NoSQL для прошивки и нашел NanoStore

https://github.com/tciuro/NanoStore

Хотя если у вас есть время, чтобы исследовать, было бы большой опыт обучения SQLite правильно с пользовательскими функциями. Создать собственную базу данных NoSQL очень просто. Только одна таблица для всех объектов, хранящих словари/json по представлениям/индексам с пользовательскими функциями.

Создание собственного решения - не сложная часть. Трудная работа - это сопоставление ваших объектов с базой данных. Эта задача может значительно усложнить вашу кодовую базу самыми отвратительными способами, и вам нужно быть очень хорошим кодером, чтобы этого избежать. Хотя, возможно, вы должны страдать от такого опыта, если хотите быть очень хорошим.

Одной из наиболее неприятных проблем будет также связь между объектами. Решая, что это основная цель CoreData, именно по этой причине вы будете читать, что CoreData не является базой данных.

Изучение SQLite правильно, особенно там, где вы создаете пользовательские плагины для него, может открывать много дверей. Однако имейте в виду, что большинство разработчиков вообще не заботятся об изучении этих деталей и теряются с вашей базой кода.

+0

SQLite работает, но, похоже, очень медленно читает 8000 записей на объекты из файлов ASCII занял 25 секунд на iPod Touch 5g и занял 3 метра от базы данных NoSQL. Я собираюсь изучить более быстрые хранилища ключей/значений только для чтения. – kfmfe04