水平扩展SQL Server数据库

时间:2018-10-18 17:38:37

标签: sql-server database

我对如何设置SQL Server数据库知之甚少。但是我认为,当您说SQL Server实例时,它意味着它正在运行一台服务器,客户端可以连接到该服务器并查询该服务器以写入或读取值。

比方说,我有一个名为Employee的表,该表具有一百万行,并且我想将数据拆分为多台计算机,每台计算机都有半百万行。

  • 这是否意味着我们在两个不同的物理计算机上运行两个SQL Server实例?
  • 它们彼此独立吗?意思是,每个SQL Server实例都不知道另一个实例的存在,并且每个实例都有自己的Employee表?如果是这样,我想这取决于客户端在查询时查询两个节点(读取),然后合并结果。请澄清。

2 个答案:

答案 0 :(得分:0)

要回答第一个问题,是的,这意味着在两台计算机上运行两个SQL Server实例。

如果仅将数据拆分成两半,然后在计算机之间拆分它们,它们将不会被察觉。为什么首先要这样做呢?从个人经验来看,在一台计算机上应该可以完成一百万行。

答案 1 :(得分:0)

直到几年前,我都会回答“是的,数据库扩展得不好”。您可以跨服务器对数据进行分区,并构建视图,但这很麻烦。

云方法改变了这一点。现在有几个关系型数据库管理系统,它们使用SQL接口进行无形扩展(上下扩展)。

但是,您的问题性质使我相信您使用的是传统系统,因此传统的答案仍然存在。实例是数据库集合的单独抽象,并且实例不跨越硬件。