Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Sql 将所有表放在一个数据库中-好或坏_Sql_Database_Database Design - Fatal编程技术网

Sql 将所有表放在一个数据库中-好或坏

Sql 将所有表放在一个数据库中-好或坏,sql,database,database-design,Sql,Database,Database Design,两种情况: 大型应用程序-一个数据库和所有表 或 大型应用程序-多个数据库和相关表 有人能列出优点/缺点吗?除非您有非常具体的原因,否则请将所有内容保存在一个数据库中。我想不出将一个模式分割成多个数据库有什么好处 一个数据库可以创建一个恢复单元,从而实现一致的备份。它还提供了单个故障切换单元以实现高可用性。对于多个数据库,除非冻结活动(通常是不可能的),否则无法进行一致备份。此外,多个数据库在故障情况下协调“组”故障切换时也会带来挑战(一些数据库可能会故障切换到新服务器,而其他数据库可能会留下)

两种情况:

大型应用程序-一个数据库和所有表

大型应用程序-多个数据库和相关表


有人能列出优点/缺点吗?

除非您有非常具体的原因,否则请将所有内容保存在一个数据库中。我想不出将一个模式分割成多个数据库有什么好处

一个数据库可以创建一个恢复单元,从而实现一致的备份。它还提供了单个故障切换单元以实现高可用性。对于多个数据库,除非冻结活动(通常是不可能的),否则无法进行一致备份。此外,多个数据库在故障情况下协调“组”故障切换时也会带来挑战(一些数据库可能会故障切换到新服务器,而其他数据库可能会留下)

多个数据库在多租户模型中提供了优势,其中每个租户都可以拥有自己的数据库,特别是如果租户可以选择或选择进行版本升级(使用单个数据库是不可能的)。但这是一个场景,许多数据库具有相同的模式(每个数据库中都有相同的表),而不是跨多个数据库拆分模式


按数据分区扩展(分片)只能通过拥有多个数据库来实现,但这与将数据库拆分为“部分”(每个数据库具有不同的模式)是不同的主题。碎片具有相同的模式,但包含特定范围的数据。

欢迎使用堆栈溢出。您的问题与本网站首选的问题不太相符,可能会被关闭为“非建设性”,太主观了。看看其他问题,看看什么样的问题是首选。谢谢你,太多了。这正是我想要的答案。