Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL数据库。一个Web应用程序有多少个?_Mysql_Web Applications_Mysql Management - Fatal编程技术网

MySQL数据库。一个Web应用程序有多少个?

MySQL数据库。一个Web应用程序有多少个?,mysql,web-applications,mysql-management,Mysql,Web Applications,Mysql Management,我正在构建一个web应用程序。此应用程序将使用MySQL存储与每个用户相关的所有信息。但是,它还将使用MySQL存储sys admin类型的内容,如错误日志、事件日志、各种临时令牌等。第二组信息可能比第一组信息大,并且没有那么重要。如果我丢失了所有的错误日志,该站点将继续运行而不会出现问题 我纠结于是要为这些不同类型的信息建立多个数据库,还是要将它们全部塞进一个数据库、多个表中 之所以要把这一切都放在一起,是因为我只需要打开一个连接。我注意到,打开连接会带来可观的时间损失,特别是使用远程mysq

我正在构建一个web应用程序。此应用程序将使用MySQL存储与每个用户相关的所有信息。但是,它还将使用MySQL存储sys admin类型的内容,如错误日志、事件日志、各种临时令牌等。第二组信息可能比第一组信息大,并且没有那么重要。如果我丢失了所有的错误日志,该站点将继续运行而不会出现问题

我纠结于是要为这些不同类型的信息建立多个数据库,还是要将它们全部塞进一个数据库、多个表中

之所以要把这一切都放在一起,是因为我只需要打开一个连接。我注意到,打开连接会带来可观的时间损失,特别是使用远程mysql服务器


你们做什么?

我只会使用一个数据库——主要是因为你们提供的原因:你们只需要一个连接就可以访问日志和用户存储的数据


根据您的编程语言,一些框架(以J2EE为例)提供连接池。如果有两个数据库,则需要两个池。另一方面,在PHP中,当设置一个(或两个)连接时,性能将进入透视图。

我只会使用一个数据库-主要是因为您提供的原因:您只需要一个连接即可访问日志记录和用户存储的数据


根据您的编程语言,一些框架(以J2EE为例)提供连接池。如果有两个数据库,则需要两个池。另一方面,在PHP中,当设置一个(或两个)连接时,性能会受到影响。

首先,我必须说,我认为将所有事件日志、错误日志存储在db中是一个非常糟糕的主意,相反,您可能希望将它们存储在文件系统中

如果web应用程序中出现意外情况,则只需要错误日志或事件日志。然后你下载文件,并检查它,仅此而已。无需将其存储在数据库中。它会降低您的数据库和web应用程序的速度


作为对您问题的回答,如果您真的想这样做,您应该将它们分开,并且您应该找到一种方法来保持页面运行,即使您的事件日志和错误日志数据库加载并响应缓慢

首先,我必须说,我认为将所有事件日志、错误日志存储在db中是一个非常糟糕的主意,相反,您可能希望将它们存储在文件系统中

如果web应用程序中出现意外情况,则只需要错误日志或事件日志。然后你下载文件,并检查它,仅此而已。无需将其存储在数据库中。它会降低您的数据库和web应用程序的速度


作为对您问题的回答,如果您真的想这样做,您应该将它们分开,并且您应该找到一种方法来保持页面运行,即使您的事件日志和错误日志数据库加载并响应缓慢

使用两个不同的数据库(一个用于应用程序的“核心”数据,另一个用于“技术”数据)可能不是一个坏主意,至少如果您希望应用程序拥有大量用户:

  • 它允许您在一台服务器上放置一个DB,在另一台服务器上放置另一个DB
    • 稍后,您可以考虑进一步扩展:更多服务器用于“核心”数据,而仍然只有一台服务器用于“技术”数据——或者相反
  • 如果“技术”数据不那么重要,您可以(更容易)有两个不同的备份过程/策略
  • 拥有两个不同的数据库和两个不同的服务器,也意味着您可以对技术数据进行大量计算,而不会影响承载“核心”数据的DB服务器——这些计算在日志或诸如此类的内容上可能很有用。
    • 作为旁注:如果您不需要那种“报告”计算,那么将这些数据存储到数据库中可能没有什么用处,而文件会做得很好吗
也许打开两个连接意味着更多的时间——但这种差异可能可以忽略不计,不是吗


我在使用两个数据库的应用程序上工作过几次:

  • 一个“主”/“写”数据库,仅用于写操作
  • 和一个“从”数据库(第一个数据库的复制,到多个从服务器),用于读取

通过这种方式,是的,我们有时会打开两个连接——但一台服务器无法单独处理负载…

使用两个不同的数据库(一个用于应用程序的“核心”数据,另一个用于“技术”数据)可能不是一个坏主意,至少如果您希望应用程序拥有大量用户:

  • 它允许您在一台服务器上放置一个DB,在另一台服务器上放置另一个DB
    • 稍后,您可以考虑进一步扩展:更多服务器用于“核心”数据,而仍然只有一台服务器用于“技术”数据——或者相反
  • 如果“技术”数据不那么重要,您可以(更容易)有两个不同的备份过程/策略
  • 拥有两个不同的数据库和两个不同的服务器,也意味着您可以对技术数据进行大量计算,而不会影响承载“核心”数据的DB服务器——这些计算在日志或诸如此类的内容上可能很有用。
    • 作为旁注:如果您不需要那种“报告”计算,那么将这些数据存储到数据库中可能没有什么用处,而文件会做得很好吗
也许打开两个连接意味着更多的时间——但这种差异可能可以忽略不计,不是吗


我在使用两个数据库的应用程序上工作过几次:

  • 一个“主”/“写”数据库,仅用于写操作
  • 和一个“从”数据库(第一个数据库的复制,到多个从服务器),用于读取
通过这种方式,是的,我们有时会打开两个连接——但单靠一台服务器无法处理lo