向移动设备提供数据的最轻/最快的方法是什么?

时间:2011-10-09 14:27:12

标签: php sql database mobile

我正在寻找可以让您向用户提供数据的方法。这可能是从XML到平面文件DB到关系数据库。

此数据库将保存在服务器中,并可根据要求为手持设备,智能手机和平板电脑提供服务。我主要担心的是显示数百万行所请求信息的速度以及如何轻松更新数据。

在发布此消息之前,我进行了一些Google搜索,指向SQLite。你对此有何看法?

3 个答案:

答案 0 :(得分:1)

如果您希望移动设备对数据执行操作(如离线处理),我认为sql lite是可行的方法。

如果处理将在线发生并且移动设备最常用于显示并且将处于“始终”在线的环境中,那么用于请求和处理数据的Web服务然后是后端sql服务器将是方式去

在表演的泪水中,它是这样的: 很多数据=大量的在线流量,所以如果真的有很多像你这样的数据,那么我认为离线是走的路,否则流量只会扼杀性能

答案 1 :(得分:1)

如果您要处理数百万行,并且想要在移动设备上一次显示小样本(其他任何事情都很难),那么您最好使用RDBMS在服务器端进行处理。这些是为处理数百万行而制作的。 Sqlite快速而简单,但在数百万行范围内,您可以更好地使用PostgreSQL或其中一个商业品牌(Oracle,MS SQL服务器......)。

您可以使用Web服务或直接访问数据库,具体取决于您。您可以在本地进行一些处理,但必须在服务器上进行行选择。

答案 2 :(得分:1)

您可能最好设置SOAP / XML-RPC服务并在服务器上处理数据并一次将其发送到客户端部分,随时进行缓存。这可能是“最快”的方式,因为您不必将大文件传输到手持设备。它可能不适合你,但值得一提。

这基本上只是一个文件下载,由输出包含在传输格式和移动设备数据存储区的输入中。我想你正在描述类似字典的东西,这是相当静态的东西。

您想要实现的方法需要:

  1. 考虑整体文件大小,即利用尽可能少的元描述来传达数据的意义。
  2. 在服务器和设备之间使用某种类型的压缩(例如gzip)数据。考虑到设备上的积极压缩可能需要更长时间才能解压缩,并且对于速度较慢的方法会产生相反的效果。
  3. 考虑数据如何从服务器的存储中传出(是否在数据库中?是否可以将数据缓存到传输表单中?)到设备的数据存储系统(即SQLite)中。如果设备必须比插入设备时节省的时间长三倍才能插入数据,那么最后显着压缩传输速度可能会适得其反。
  4. 测试。测试。测试
  5. 您可以将其作为CSV或JSON格式的文件提供,这些文件非常简约;他们不会使用大量数据来描述数据。 XML并不是最快的,因为它通常非常具有描述性,但具有其他优点。另一个选项可能是发送带有SQL插入语句的文本文件。

    当然,另一个“选项”可能是使用更新机制并将其作为“更新”推出。我的想法是,许多拥有移动设备的人都知道更新是耗时的,并且通常是非常大的下载,因此他们在这样做时会连接到他们的计算机。这只是一个想法;我不确定这实际上是否会更好,但我想我会把它扔出去。

    SQLite是一个在许多移动平台上运行的RDBMS。它有它的局限性,但它可能就是你必须要处理的全部内容。这是一个不错的选择。