MySQL访问 - 允许远程访问还是通过PHP?

时间:2014-05-08 12:42:01

标签: php mysql database-design database-connection

我正在尝试设计一个可通过自定义应用访问的数据库系统。目前,没有计划使用网络应用程序 - 但将来会考虑使用。定制应用程序将基于MacOSX,Windows,iOS和Android。

我是MySQL设计的完整菜鸟。所以,问题是,设计MySQL数据库以允许远程连接(来自各种应用程序)还是应该通过基于PHP的“门户”访问数据库?各自的优点和缺点是什么?

1 个答案:

答案 0 :(得分:0)

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

这有很多好处

  1. 您的客户只需要知道如何通过HTTP与API通信。
  2. 随着新的兴趣出现,您可以轻松地容纳更多客户。
  3. 您的API处理数据验证,&消毒,这意味着您的客户可以减少工作量,并且不太可能因此引入他们的错误。
  4. 您的客户对后端不了解。因此,如果您的应用程序起飞并且您需要横向扩展,则无需更改。或者,如果您需要在API和DB之间切换回结束存储或添加缓存层,则所有更改都将“落后于”。
  5. 您需要阅读并研究以下几点:

    1. 如何设计好的REST API
    2. 如何处理客户端应用身份验证和安全性
    3. 构建API的框架/方法
    4. 在客户端和API之间交换数据的最佳方式。或者您需要多种方法来重新数据? JSON通常是最好的选择,但您可能希望提供XML。