MySQL访问-允许远程访问或通过PHP


MySQL access - allow remote access or via PHP?

我试图设计一个数据库系统,是通过定制的应用程序访问。目前,一个web应用程序没有计划-但将考虑在未来。这些定制应用程序将基于MacOSX、Windows、iOS和Android。

我对MySQL设计完全是个新手。所以,问题是,是将MySQL数据库设计为允许远程连接(来自各种应用程序)更好,还是应该通过基于PHP的"门户"访问数据库?每种方法的优缺点是什么?

由于您将拥有多个客户机应用程序,因此应该通过Web API(通常是RESTful API)公开数据库。Zend的ApiGility是一种轻松创建它们的方法。所有的客户端都与API端点进行通信来完成一些事情(添加/编辑/删除记录,验证用户,等等)。你的API处理请求和更新你的数据存储。

这有很多好处

  1. 你的客户端只需要知道如何通过HTTP与你的API通信。
  2. 随着新事物的出现,你可以很容易地允许更多的客户端。
  3. 你的API处理数据验证,&消毒,这意味着你的客户可以做更少的工作,从而不太容易引入他们的bug。
  4. 你的客户端对后端是不可知的。如果你的应用起飞了,你需要横向扩展,它们不需要改变。或者如果你需要切换后端商店或在API和DB之间添加缓存层,所有的更改都是"幕后"的。

你需要阅读和研究一些事情:

    如何设计一个好的REST API
  1. 如何处理客户端应用程序认证和安全
  2. 构建API的框架/方法
  3. 在客户端和API之间交换数据的最佳方式。还是需要多种方式来表示数据?JSON通常是最好的选择,但您可能希望提供XML。