托管:为啥 MySQL 数据库的数量很重要?

Posted

技术标签:

【中文标题】托管:为啥 MySQL 数据库的数量很重要?【英文标题】:Hosting: why does the number of MySQL databases matter?托管:为什么 MySQL 数据库的数量很重要? 【发布时间】:2010-09-28 09:28:37 【问题描述】:

好的,也许我在这里遗漏了一些东西,但我正在查看各种 php hosting options 并且我看到诸如“10 个 mysql 数据库”之类的东西,或者 25 个甚至无限。

现在,我曾在具有 10,000 多个并发用户的 Oracle 后端工作过,并且我们拥有...一个数据库。

当然,数据库的想法是您可以在其中存储任何您想要的东西。那么为什么对于 MySQL 来说这个数字很重要呢?是否有一些我不知道的表、行或整体数据库限制(完全可能)?或者它是一个问题或并发连接?还是其他一些性能问题(例如分片)?分片方面似乎不太可能,因为即使是基本的托管选项(即每月 5 美元以下)我也看到了 10 个数据库。

如果有人能告诉我这个问题,那就太好了。

【问题讨论】:

【参考方案1】:

这主要是一种营销策略,尽管有一些技术和历史方面的考虑。

首先,如果这很明显,我们深表歉意,但 SCHEMA 之于 Oracle 就像 DATABASES 之于 MySQL(简单地说,是表的逻辑集合)。

主机说您可以在服务器上拥有 XX 个已配置的逻辑数据库。许多 Web 应用程序需要数据库才能运行。现代 Web 应用程序,如 Wordpress、Movable Type、Joomla 等,将允许您使用自定义前缀命名您的表格。但是,如果应用程序没有此配置功能,则意味着每次安装都需要一个数据库。同样,如果两个应用程序具有相同的表名,它们就不能共存于一个数据库中。许多早期的 Web 应用程序都是这样开始的,所以早期的数据库数量是一个需要考虑的重要特性。

还有访问权限和安全性。虽然 MySQL(和其他数据库)可以配置为向用户提供细粒度的访问控制到表和列级别,但创建一个对逻辑数据库具有完全权限的用户通常更容易。这对于销售服务但将已完成网站/应用程序的实际托管交给共享网络主机的人来说很重要。

【讨论】:

【参考方案2】:

有些人喜欢每个应用一个数据库

【讨论】:

【参考方案3】:

这是营销,而不是技术。他们想要做一些广告。 “10”听起来不错。

【讨论】:

我完全同意!! 10 是个好数字,但 25(二十五!)是一个更大的数字,听起来更好。【参考方案4】:

出于开发目的,有时最好复制整个数据库来测试新软件。重命名代码中的所有表(尽管 Wordpress 等应用程序允许您为所有表名指定前缀,以防万一您没有多个 DB)。

【讨论】:

【参考方案5】:

当我使用共享主机时,我为自定义应用程序的每个站点/客户端设置了一个单独的数据库,如果您使用 Fantastico 安装应用程序,它将默认为每个应用程序使用一个数据库。

我相信当您超出当前级别时,这些限制会提示您升级到下一层服务。

【讨论】:

【参考方案6】:

Nick 部分正确,但它也与那些试图在一个共享帐户上托管多个站点并为每个共享帐户使用不同的数据库和一个脚本以通过少量 dns 伪装提供正确内容的人有关。

【讨论】:

【参考方案7】:

另外,它可能是一种营销视角。

如果您只是为自己设置数据库,那么低计数就可以了。但是对于商业用户,他们可能希望在一项服务上为多个客户提供多个站点,并试图走捷径,每个客户/项目可能需要 1 个数据库(或更多)。

因此,限制数据库的数量会在一定程度上控制您提供的服务种类,并可能限制您的“转售”价值潜力,即:阻止您购买 1 个计划然后将其出售给其他人,例如“转租” ”。

【讨论】:

【参考方案8】:

这主要用于当您在同一个盒子上托管多个网站时。对我来说,我买/卖了很多网站,所以我需要让每个网站尽可能地与其他网站分开。

【讨论】:

以上是关于托管:为啥 MySQL 数据库的数量很重要?的主要内容,如果未能解决你的问题,请参考以下文章

为啥Github对编程和软件工程工作很重要?

为啥 Core Data 托管对象的 +initialize 方法会被调用两次?

为啥从 Google 的 AJAX 库 API 加载 JS 框架很重要?

为啥 x-template 部分的位置对于 vue 模板处理数据很重要?

为啥关系在 SQL 实现中很重要?

JDBC 和 MySQL 真的很慢,不知道为啥