【问题标题】:SQL Server to MySql conversion - schema vs. database questionSQL Server 到 MySql 的转换 - 架构与数据库问题
【发布时间】:2011-04-19 21:44:34
【问题描述】:

全部,

对于共享托管环境中的小型客户,我们正在评估 MySql 作为 SQL Server 的低成本替代品。对于我们将如何迁移一些细节,如表/标量值函数、sql 作业等,我仍然一头雾水,但我将在另一个线程中发布细节。但是,我确实有一个关于 MySql 中的数据库与模式的基本问题。

目前,我们的 SQL 服务器实例有多个数据库,每个数据库都有多个模式。例如:

数据库(架构...)
=====================
Client1Database (dbo, web)
Client2Database(dbo、web、schema3)
Client3Database (dbo, schema2)

在我的示例 MySql 实例中,似乎顶级对象是模式,而不是数据库。但是“模式”旁边有数据库图标,在我们的例子中,“模式”被列为 .NET 应用程序中连接字符串的一部分。

所以我想我只是有一些关于如何感知 MySql 中的模式/数据库的澄清问题......

  1. 如果数据库由多个架构或单个架构“数据库”组成,MySql 实例中的顶级对象是否可以被视为架构。
  2. 在上面的场景中,我是否应该为每个客户端创建一个单独的实例,将单个客户端数据库扁平化为一个模式并将三个客户端保持在同一个实例中,或者其他一些让我无法理解的方法?一种方法相对于另一种方法是否具有优势、安全性、清晰性或其他方面?

提前感谢您的回复。

【问题讨论】:

  • 你的“小客户”的数据库大小是多少?
  • 共享环境将是 3-5 个客户端。每个数据库的大小约为 50-500MB。大多数情况下,客户端数据库可以合并到一个模式中,尽管目前它们中的一些在 sql server 中具有多个模式。

标签: mysql database sql-server-2008 schema


【解决方案1】:

首先,我建议您或任何人避免使用 MySQL,有很多免费的 RDBMS 可用,我最喜欢的是 PostgreSQL,在我看来它更好。此外,您的要求非常小,使用 SQL Server Express 应该不是问题,尽管我知道共享主机可能会限制您的选择。您(希望)已经知道了这一点,但无论如何我都会尝试回答您的问题...

  1. 基本上 MySQL 没有模式,只有数据库(在标准中称为目录)。几年前,他们决定添加关键字SCHEMA 作为DATABASE 的别名。有计划添加模式的概念,但我不会指望它很快就会实施。
  2. 这主要取决于您在当前设置中使用数据库与模式的方式。在大多数情况下,我认为最好将这些数据库保存在一个实例中以简化管理任务。

P.S.:如果能更新一下你最终是如何解决这个问题的,那就太好了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多