数据库设计决策 - 移动和网络

Dha*_*ani 2 database-design

这可能是一个有点宽泛的问题,但是......我目前面临以下困境:

拥有一个 Web 应用程序(已部署)和一个新的移动应用程序,我目前正在研究服务器端的移动应用程序数据库,我的问题是...您认为为 Web 和应用程序设置单独的数据库会更好吗? ,还是将它们整合为一个更好?

我可以想到每种方法的利弊。例如,单个数据库更容易更新和维护。但是,将它们分开为每个应用程序提供了某种独立性,例如,如果需要,您可以更改其中任何一个的 DBMS...

我知道在不了解数据库设计、上下文等的情况下做出回应有点困难,但您的总体想法是什么?“大公司”通常做什么?

编辑:另外,例如,如果我们想在未来扩展移动应用程序并将其迁移到另一台服务器......在之前的任何场景中都会更难吗?

Ste*_*oke 5

您可以将 Web 和移动视为应用程序功能/服务的交付接口。在这方面,两个接口的后端功能(服务器端 - 处理等)应该相同,所以是的,它们应该具有相同的数据库。

您可能希望添加数据以识别数据添加或更改或流量的来源,但本质上是相同的应用程序。

更新:将移动应用程序视为要支持的单独 UI,我不会穷尽所有可能性,但请查看以下可能的接口列表:

  • Web 应用程序 - 可用
  • 移动应用程序 - 这是 HTML 5 网络应用程序、Android 还是 IOS?每个都可能需要自己的“不同的基础设施”
  • 桌面应用程序 - 用于子集、管理、操作
  • Web 服务(REST、SOAP)——用于机器到机器的通信,它本身没有明确的 UI,但可能会提供给 3rd 方开发他们自己的应用程序(即使上面的 3 个 UI 也可以被视为这样)

考虑的方式是有一个具有单个数据库的应用程序正在通过多个渠道访问,无论是来自同一服务器还是不同服务器