MySQL数据库。一个Web应用程序有多少个?
我正在构建一个web应用程序。此应用程序将使用MySQL存储与每个用户相关的所有信息。但是,它还将使用MySQL存储sys admin类型的内容,如错误日志、事件日志、各种临时令牌等。第二组信息可能比第一组信息大,并且没有那么重要。如果我丢失了所有的错误日志,该站点将继续运行而不会出现问题 我纠结于是要为这些不同类型的信息建立多个数据库,还是要将它们全部塞进一个数据库、多个表中 之所以要把这一切都放在一起,是因为我只需要打开一个连接。我注意到,打开连接会带来可观的时间损失,特别是使用远程mysql服务器MySQL数据库。一个Web应用程序有多少个?,mysql,web-applications,mysql-management,Mysql,Web Applications,Mysql Management,我正在构建一个web应用程序。此应用程序将使用MySQL存储与每个用户相关的所有信息。但是,它还将使用MySQL存储sys admin类型的内容,如错误日志、事件日志、各种临时令牌等。第二组信息可能比第一组信息大,并且没有那么重要。如果我丢失了所有的错误日志,该站点将继续运行而不会出现问题 我纠结于是要为这些不同类型的信息建立多个数据库,还是要将它们全部塞进一个数据库、多个表中 之所以要把这一切都放在一起,是因为我只需要打开一个连接。我注意到,打开连接会带来可观的时间损失,特别是使用远程mysq
你们做什么?我只会使用一个数据库——主要是因为你们提供的原因:你们只需要一个连接就可以访问日志和用户存储的数据
根据您的编程语言,一些框架(以J2EE为例)提供连接池。如果有两个数据库,则需要两个池。另一方面,在PHP中,当设置一个(或两个)连接时,性能将进入透视图。我只会使用一个数据库-主要是因为您提供的原因:您只需要一个连接即可访问日志记录和用户存储的数据
根据您的编程语言,一些框架(以J2EE为例)提供连接池。如果有两个数据库,则需要两个池。另一方面,在PHP中,当设置一个(或两个)连接时,性能会受到影响。首先,我必须说,我认为将所有事件日志、错误日志存储在db中是一个非常糟糕的主意,相反,您可能希望将它们存储在文件系统中 如果web应用程序中出现意外情况,则只需要错误日志或事件日志。然后你下载文件,并检查它,仅此而已。无需将其存储在数据库中。它会降低您的数据库和web应用程序的速度
作为对您问题的回答,如果您真的想这样做,您应该将它们分开,并且您应该找到一种方法来保持页面运行,即使您的事件日志和错误日志数据库加载并响应缓慢 首先,我必须说,我认为将所有事件日志、错误日志存储在db中是一个非常糟糕的主意,相反,您可能希望将它们存储在文件系统中 如果web应用程序中出现意外情况,则只需要错误日志或事件日志。然后你下载文件,并检查它,仅此而已。无需将其存储在数据库中。它会降低您的数据库和web应用程序的速度
作为对您问题的回答,如果您真的想这样做,您应该将它们分开,并且您应该找到一种方法来保持页面运行,即使您的事件日志和错误日志数据库加载并响应缓慢 使用两个不同的数据库(一个用于应用程序的“核心”数据,另一个用于“技术”数据)可能不是一个坏主意,至少如果您希望应用程序拥有大量用户:
- 它允许您在一台服务器上放置一个DB,在另一台服务器上放置另一个DB
- 稍后,您可以考虑进一步扩展:更多服务器用于“核心”数据,而仍然只有一台服务器用于“技术”数据——或者相反
- 如果“技术”数据不那么重要,您可以(更容易)有两个不同的备份过程/策略
- 拥有两个不同的数据库和两个不同的服务器,也意味着您可以对技术数据进行大量计算,而不会影响承载“核心”数据的DB服务器——这些计算在日志或诸如此类的内容上可能很有用。
- 作为旁注:如果您不需要那种“报告”计算,那么将这些数据存储到数据库中可能没有什么用处,而文件会做得很好吗
我在使用两个数据库的应用程序上工作过几次:
- 一个“主”/“写”数据库,仅用于写操作
- 和一个“从”数据库(第一个数据库的复制,到多个从服务器),用于读取
通过这种方式,是的,我们有时会打开两个连接——但一台服务器无法单独处理负载…使用两个不同的数据库(一个用于应用程序的“核心”数据,另一个用于“技术”数据)可能不是一个坏主意,至少如果您希望应用程序拥有大量用户:
- 它允许您在一台服务器上放置一个DB,在另一台服务器上放置另一个DB
- 稍后,您可以考虑进一步扩展:更多服务器用于“核心”数据,而仍然只有一台服务器用于“技术”数据——或者相反
- 如果“技术”数据不那么重要,您可以(更容易)有两个不同的备份过程/策略
- 拥有两个不同的数据库和两个不同的服务器,也意味着您可以对技术数据进行大量计算,而不会影响承载“核心”数据的DB服务器——这些计算在日志或诸如此类的内容上可能很有用。
- 作为旁注:如果您不需要那种“报告”计算,那么将这些数据存储到数据库中可能没有什么用处,而文件会做得很好吗
我在使用两个数据库的应用程序上工作过几次:
- 一个“主”/“写”数据库,仅用于写操作
- 和一个“从”数据库(第一个数据库的复制,到多个从服务器),用于读取