Q:在 Web 服务器(/其他?)和手机(即 ios/android/其他)之间传输数据时,哪种数据类型最有效/最快?
Q:应该使用什么样的服务器端技术?
Q:应该使用什么样的API?
有什么想法吗 ?
A1.二进制。
你看过吗谷歌原型缓冲区 http://code.google.com/p/protobuf/?这是一个高效的二进制格式化程序,具有跨平台功能(java、c#、python、objective c、PhP。甚至还有一个 JScript 实现,但我不相信它!)
您看过 AMQP 等消息传递框架吗?我已经成功地实现了一个跨平台的二进制消息传递系统AMQP http://www.amqp.org/作为消息路由器,原型缓冲区 http://code.google.com/p/protobuf/作为二进制序列化器和兔子MQ http://www.rabbitmq.com/devtools.html作为 C# 和 Java 客户端。它的速度非常快,只需 0.5 毫秒即可执行从客户端到服务器的往返请求/响应(包括序列化/反序列化,不包括网络时间)。
消息堆栈变为:
移动 > RabbitMQ 客户端 > Google Protobuffers > {互联网} > RabbitMQ 服务器 > Google Protobuffers > Web 服务器
JSON 是下一个最快的序列化器,但在速度和带宽的有效利用方面,没有什么可以与二进制相比。
A2.就性能而言,Oracle 将处理大部分数据,SQL Server 和 MySql 将给出非常好的结果,但这取决于您打算做什么。
它还取决于您的数据的存储方式。您是否存储关系数据?然后使用关系数据库。您是否存储时间序列数据?然后使用按列排序的数据库甚至平面文件。 PyTables 是基于 python 的以文件为中心的数据库的一个很好的例子,它非常适合存储科学数据集和时间序列。
这个问题的答案实际上是“这取决于”——取决于你想做什么。我还会考虑使用您熟悉的服务器端技术进行开发,而不是根据数字来选择一种技术,因为它们都非常相似。
A3.未知,不是我的专业领域。
此致,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)