Javascript 如何为多个子域上使用的项目设置数据库,以及最好使用哪种技术?

Javascript 如何为多个子域上使用的项目设置数据库,以及最好使用哪种技术?,javascript,php,database,settings,project,Javascript,Php,Database,Settings,Project,我正在尝试开发一个大型web项目,该项目应该在多个子域上使用,其中子域代表客户机。我面临的问题是,我不知道这类项目的最佳或推荐解决方案 项目(逻辑)应该类似slack.com。子域表示客户端(clientAlpha.slack.com、clientBeta.slack.com等)。问题是,我可以想象多种解决方案,但它们都有许多缺点 所有数据都将存储在我的服务器上-客户端只进行注册 如何为多个客户端组织数据库结构 每个客户机都有自己的数据库,并使用一些前缀命名。但是,某种“超级数据库”存在一个问

我正在尝试开发一个大型web项目,该项目应该在多个子域上使用,其中子域代表客户机。我面临的问题是,我不知道这类项目的最佳或推荐解决方案

项目(逻辑)应该类似slack.com。子域表示客户端(clientAlpha.slack.com、clientBeta.slack.com等)。问题是,我可以想象多种解决方案,但它们都有许多缺点

所有数据都将存储在我的服务器上-客户端只进行注册

  • 如何为多个客户端组织数据库结构

    • 每个客户机都有自己的数据库,并使用一些前缀命名。但是,某种“超级数据库”存在一个问题,导致需要多个数据库连接。多个DBs=数据库结构更新期间的丑陋作业
    • 一个数据库,包含一些“超级表”,每个客户机有许多相同的表。我认为这是最丑陋的解决办法。与上面相同的结构更新问题
    • “正常”DB和“正常”表,其中客户端由外键表示。此解决方案会影响数据库的速度
  • 哪种类型的数据库最好使用?我的意思是,数据(行)的数量有限制吗?我对MySQL和MongoDB有很好的实践。没有GPS,没有BLOB-只有“纯”数据将存储在表中(数字、字符串、布尔值、文本)

  • 在服务器上使用PHP还是在新项目创建中使用PHP已经过时了/或者使用JavaScript(node.js)好吗

  • 我试图找到一些关于这方面的信息,但千人=千种意见:/


    感谢您的指导和推荐。

    一些注意事项,请多多指教:

    • 开放数据库连接不仅可以访问默认数据库。使用
      datbase.table
      访问其他数据库
    • 使用不同(且唯一)的前缀或不同的数据库。不要把它们混在一起
    • 如果使用不同的数据库,请为全局数据使用一个特殊的数据库(超级表)
    • 数据库总是有限制的。最好是估计您的需求,将它们乘以10,然后查看数据库描述。无论如何,大多数磁盘和内存空间都是有限的
    • 使用最佳成员创建干净的数据库布局(例如,如果仅存储0到1000之间的值,请选择
      smallint
      ),为数据库访问创建示意图以确定键。在开始实施之前,请同时执行这两项操作
    “在服务器上使用PHP还是在新项目创建中使用PHP已经过时?”。PHP非常活跃,它是有史以来最好的语言…@Dharman谢谢你。我必须改变我的朋友:)为什么人们一直讨厌PHP,我刚刚看到一篇帖子,一位Python用户声称PHP是过时的语言,但是PHP有适当的类型限制,Python有点缺乏。。。。无论如何我不是在抨击Python,我不懂Python,但不懂现代PHP的人也不应该抨击它。谢谢你的回答。打开数据库连接…好吧,我很笨。前缀-这真的是个好主意吗(需要更改数据库结构)?