我的应用程序从两个来源读取数据,一个本地sqlite文件和一个远程服务器,它是本地数据库的克隆但有很多图片。我没有写入服务器数据库,但我确实需要多个同时进行的提取操作。
我应该使用什么DBMS在服务器上存储信息?
需要从iPhone应用程序中轻松使用,可靠等等。
答案 0 :(得分:2)
与远程服务器通话不应该与iOS之类的任何平台绑定。如果您可以控制远程数据库服务器,那么最好的办法是IMO正在制作一个表达您查询的RESTful API,服务器会处理它并使用适当的内容类型向您发送图片/记录。如果您没有对远程数据库进行此类控制,则必须坚持使用数据库主机提供的API。有很多这样的“云端”数据库主机(包括NoSQL解决方案)可以为您的数据库提供Web服务接口。 MongoLabs是MongoDB的一个这样的提供者(这是一个NOSQL数据库 - 意思是没有模式,没有“表”结构的界限)。您可以继续在客户端坚持使用SQLite。
答案 1 :(得分:0)
您似乎有两个数据本地存储源和一个远程服务器。
关于SO的This问题可能会帮助您确定在服务器上存储数据的方法。
使用类似NSURLConnection类的内容下载数据后,可以使用writeToFile等将图像存储在文件系统中。 - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag方法。
您可能希望将其余数据保存在sqlite中。我们使用sqlite和CoreData框架来保存我们的一个应用程序的数据,它对我们来说很好。 CoreData允许我们在没有实际SQL查询的情况下与数据库进行交互。
iPhone客户端驻留在手机上,而在服务器端,我们可能有数据库和与数据库交互的Web服务。 Webservice本身可以用python或php实现脚本语言。客户端与可能以XML或JSON等格式返回数据的Web服务进行交互。因此,客户端和数据库之间没有直接通信。但是,客户端确实实现了网络通信代码以与Web服务进行通信。 This页面显示了如何使用基于XML的Web服务。