适用于iPhone的Sqlite3替代品

时间:2009-11-28 18:06:56

标签: iphone sqlite

除了sqlite3之外,还有其他可以在iPhone上使用的数据库引擎吗?像textDb这样的东西适用于PHP,单文件而不是服务器。

4 个答案:

答案 0 :(得分: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上解决他们的非客户端/服务器关系持久性需求;它只是有效。

答案 1 :(得分:1)

如果您正在寻找替代方案,我会说核心数据。 我很长一段时间都有同样的问题,甚至在某些项目中使用了SQLite。在与Apple工程师交谈之后,他指出Core Data可以完成我使用SQLite的所有工作(主要是存储信息并以几种不同的方式访问它)。

我会从with Core Data Programming Guide开始,看看它是如何运作的。

答案 2 :(得分:0)

我认为您的问题是您正在考虑更像软件产品的软件库。人们希望出于各种原因在Internet浏览器之间进行选择。但是当你有一个软件时,它几乎只用于一个目的。如果它不能很好地实现这个目的,它就不应该 一个库。

你不喜欢NSObject吗?你不喜欢Core Foundation库吗?然后写自己的。然而,为了拖累一个不幸过度使用的类比,不要重新发明轮子,除非你的工作是制造新的和创新的轮子。

SQLite 执行可接受,因此它作为iPhone平台上的库提供。 SQLite适用于我需要它做的事情。如果它不能工作,那么也许你有一些理由要分享?

如果你想在互联网浏览器之间做出选择,那么选择自由是好的,但我认为作为程序员,人们应该有一个非常具体的理由让他们走出困境,花费宝贵的时间修复已经有效的东西。即使我选择了互联网浏览器,我也有具体的理由选择一个而不是另一个。

答案 3 :(得分:-1)

没有。每个人似乎都对SQLite感到满意。