2009-11-28 2 views
0

Есть ли другие двигатели баз данных, которые можно использовать на iPhone, помимо sqlite3? Что-то вроде textDb для PHP, однофайлового и без сервера.Sqlite3 альтернативы для iPhone

+1

Выясните, какую проблему вы пытаетесь решить? Что случилось с SQLite в вашем случае? –

+0

проблема * выбор *, решение ответ на вопрос. – luvieere

+1

sqlite3 * is * single file и no server .... –

ответ

4

Существует множество альтернатив SQLite, но нет смысла использовать их, как указывали другие.

Перед указывая на некоторые альтернативы, некоторые моменты:

Во-первых, SQLite является отличным одним файлом, не клиент-сервер, малые след базы данных SQL. Производительность отличная, это относительно крошечное время исполнения, и это очень быстро. Существует не встраиваемая альтернатива SQL-интерпретации, которая либо практически технически превосходит, либо где-то рядом с популярностью.

Во-вторых, если вы выполняете постоянство в приложении для iPhone, вы, скорее всего, будете использовать CoreData. Есть, конечно, причины не делать этого, но они довольно необычные. Помимо того, что базовое представление является сопоставлением более высокого уровня в реляционном хранилище, которое довольно эффективно интегрировано с Cocoa Touch, Core Data решает ряд очень сложных проблем, помимо и настойчивости; управление графами объектов, эффективное использование памяти (т. е. выталкивать ненужные данные из памяти), а также отменять поддержку, чтобы назвать несколько.

Наконец, если вы решите использовать какой-либо другой уровень стойкости к базе данных, имейте в виду, что iPhone 3G и предыдущий - среда с ограниченным сроком хранения. Само присутствие любой дополнительной библиотеки может значительно сократить рабочую память, доступную вашему приложению.Какое бы решение вы ни выбрали, убедитесь, что он оптимизирован для использования как можно меньше памяти.

Таким образом, серьезно, если вы хотите не использования SQLite или CoreData это либо потому, что у вас есть очень редкий случай, когда они не соответствуют или потому что вы быть любопытным. Если любопытно, хорошо ... хорошо для вас!

Если вы ищете альтернативы, документация SQLite включает в себя set of links to similar products.

Довольно редкий список, и это не потому, что автор что-то скрывает. В отрасли просто не так много мотивации, чтобы попытаться заново изобрести это особое колесо, потому что SQLite делает действительно хорошую работу. Существует причина, по которой Google, Adobe, GE, FireFox, Microsoft, Sun, REALBasic, Skype, Symbian, Apple, and others в значительной степени стандартизированы на SQLite, чтобы решить свои потребности в постоянной реляционной неклиентской/серверной нагрузке; он просто работает.

+0

Я видел конкурентов на этой странице, но меня интересуют только те, у кого уровень доступа к какао-iPhone, что я действительно могу использовать на iPhone. – luvieere

+0

Если они написаны на C (или C++), их можно использовать на iPhone. Вам придется их переносить (вероятно, не так сложно), а затем выяснить, действительно ли они будут соответствовать требованиям к памяти устройства (вероятно, если они не нацелены на встроенные на другие платформы). – bbum

-1

Нет. Кажется, что все довольны SQLite.

+1

все - 1, то есть. – luvieere

+0

Предположительно, вы являетесь -1, на который вы ссылаетесь. Почему ты не доволен этим? – rein

+1

Я хочу, чтобы один файл db включался в мое приложение, а не sqlite, что-то еще. Я не понимаю, почему люди так неохотно предлагают альтернативы ради просто альтернатив - я вижу, что он спрашивает, что не так с Coca-Cola, что вы просите Pepsi или что-то еще? – luvieere

0

Я думаю, ваша проблема в том, что вы думаете о библиотеке программного обеспечения больше как программный продукт. Люди хотят выбирать между интернет-браузерами по разным причинам. Но когда у вас есть программное обеспечение библиотека, она в значительной степени настроена для одной цели. Если он недостаточно подходит для этой цели, он не должен быть библиотекой.

Нравится ли вам NSObject? Вам не нравится библиотека Core Foundation? Тогда напишите свое. Однако, чтобы перетащить, к сожалению, чрезмерную аналогию, не изобретайте колесо, если только ваша работа не создает новые и инновационные колеса.

SQLite делает выполняется приемлемо, и поэтому он поставляется в виде библиотеки на платформе iPhone. SQLite работает для того, что мне нужно. Если это не работа для вас, то, может быть, у вас есть причина, по которой вы хотели бы поделиться?

Свобода выбора в порядке, если вы хотите выбрать между интернет-браузерами, но я бы подумал, что в качестве программиста нужно иметь очень специфическую причину для того, чтобы уйти с их пути, потратив драгоценное время, чтобы исправить что-то, что уже работает. Даже с моим выбором интернет-браузера у меня есть определенные причины, которые я выбираю один за другим.

+0

Я любопытный человек, желающий потратить время на поиск альтернатив ради того, чтобы знать, что и что они собой представляют. Я искал, не смог найти, и попросил ввести дополнительные данные. Я всегда заинтересован в поиске новых впечатляющих вещей, и я проверял интернет-браузеры просто из любопытства - исследовать альтернативы, сравнивать, делать выводы. Не иметь альтернативы скучно, независимо от того, насколько она эффективна. Библиотеки могут быть такими, но я столкнулся с тоннами библиотек XML, библиотек JSON и других для iPhone, так почему же они не могут быть больше ядрами баз данных? – luvieere

1

Если вы ищете альтернативу, я бы сказал Core Data. У меня был тот же вопрос в течение долгого времени и даже использовался SQLite в некоторых проектах. Поговорив с инженером Apple, он отметил, что Core Data может делать все, что я использовал для SQLite (в основном, только для хранения информации и доступа к ней несколькими способами).

Я бы начал с Core Data Programming Guide и посмотрел, как он работает для того, что вы ищете.

Смежные вопросы