在服务器架构中,集群,负载均衡,分布式有什么区别吗

在服务器架构中,集群,负载均衡,分布式有什么区别吗,第1张

集群就是很多的服务器来实现一种功能,向mysql,很多的服务器都安装mysql,负载均衡就是用来调节的,比方说有很多的用户都在访问读取数据,可是读取a服务器的mysql多,而读取别的服务器的mysql就少,负载均衡把访问a的用户转给b一部分,防止a由于访问量过大造成宕机什么的。分布式就是有很多把服务器的相同功能分别部署在很多太计算机上,然后每个地方放上几台,这几台负责提供本地的服务,并且和总的服务器连接,保持数据传递。

SQL Server 支持到其他 OLE DB 数据源的永久性连接或临时连接。永久性连接叫做链接服务器;为单个查询建立的临时连接叫做分布式查询。
Microsoft Excel 工作簿是一种可通过 SQL Server 以这种方式查询的 OLE DB 数据源。本文介绍了将 Excel 数据源配置为链接服务器所需的语法,以及使用分布式查询来查询 Excel 数据源所需的语法。
作为链接服务器查询 Excel
您可以使用企业管理器、系统存储过程或 SQL-DMO(分布式管理对象)将 Excel 数据源配置为 SQL Server 链接服务器。在所有的这些情况中,您总需要设置以下四个属性:
• 链接服务器要使用的名称。
• 连接要使用的 OLE DB 提供程序。
• Excel 工作簿的数据源或完整路径和文件名。
• 将目标标识为 Excel 工作簿的提供程序字符串。默认情况下,Jet 提供程序需要 Access 数据库。
系统存储过程 sp_addlinkedserver 也需要 @srvproduct 属性,该属性可以是任何字符串值。
使用企业管理器配置 Excel 链接服务器
1 在企业管理器中,单击以展开安全文件夹。
2 右键单击链接服务器,然后单击新建链接服务器。
3 在常规选项卡上,按照下列步骤 *** 作:a在第一个文本框中,为该链接服务器键入任意名称。b在服务器类型文本框中,单击其他数据源。c在提供程序名称下拉列表框中,单击 Microsoft Jet 40 OLE DB 提供程序。d在数据源文本框中,键入 Excel 文件的完整路径和文件名。e在提供程序字符串文本框中,键入 Excel 80 代表 Excel 97、2000 或 2002 工作簿。f单击确定以创建新的链接服务器。
4 单击以展开此新链接服务器的名称,从而展开它所包含的对象列表。
5 在新建链接服务器名称下,单击表。注意,工作表和命名区域将出现在右窗格中。
使用存储过程配置 Excel 链接服务器
您还可以使用系统存储过程 sp_addlinkedserver 将 Excel 数据源配置为链接服务器: DECLARE @RC int
DECLARE @server nvarchar(128)
DECLARE @srvproduct nvarchar(128)
DECLARE @provider nvarchar(128)
DECLARE @datasrc nvarchar(4000)
DECLARE @location nvarchar(4000)
DECLARE @provstr nvarchar(4000)
DECLARE @catalog nvarchar(128)
-- Set parameter values
SET @server = 'XLTEST_SP'
SET @srvproduct = 'Excel'
SET @provider = 'MicrosoftJetOLEDB40'
SET @datasrc = 'c:/book1xls'
SET @provstr = 'Excel 80'
EXEC @RC = [master][dbo][sp_addlinkedserver] @server, @srvproduct, @provider,
@datasrc, @location, @provstr, @catalog
如上所述,此存储过程另需一个任意字符串值作为 @srvproduct 参数的值,此参数在企业管理器配置中显示为“产品名称”。不使用 @location 和 @catalog 参数。
使用 SQL-DMO 配置 Excel 链接服务器
您可以使用 SQL 分布式管理对象从 Microsoft Visual Basic 或其他编程语言中将一个 Excel 数据源以编程方式配置为链接服务器。您必须也提供企业管理器配置中要求的那四个参数。 Private Sub Command1_Click()
Dim s As SQLDMOSQLServer
Dim ls As SQLDMOLinkedServer
Set s = New SQLDMOSQLServer
sConnect "(local)", "sa", "password"
Set ls = New SQLDMOLinkedServer
With ls
Name = "XLTEST_DMO"
ProviderName = "MicrosoftJetOLEDB40"
DataSource = "c:/book1xls"
ProviderString = "Excel 80"
End With
sLinkedServersAdd ls
sClose
End Sub
查询 Excel 链接服务器
将 Excel 数据源配置为链接服务器之后,您可以方便地通过“查询分析器”或其他客户端应用程序查询其数据。例如,为了检索存储在 Excel 文件 Sheet1 中的数据行,以下代码使用了您使用 SQL-DMO 配置的链接服务器: SELECT FROM XLTEST_DMOSheet1$
您还可以使用 OPENQUERY 以“passthrough”(传递)方式查询 Excel 链接服务器,如下所示: SELECT FROM OPENQUERY(XLTEST_DMO, 'SELECT FROM [Sheet1$]')
OPENQUERY 需要的第一个参数是链接服务器名称。工作表名称之间需要用分隔符分开,如上所示。
您还可以使用以下查询获得 Excel 链接服务器上所有可用表的列表: EXECUTE SP_TABLES_EX 'XLTEST_DMO'
您可以使用 SQL Server 分布式查询和 OPENDATASOURCE 或 OPENROWSET 函数临时查询很少访问的 Excel 数据源,如下所示: SELECT FROM OPENDATASOURCE('MicrosoftJetOLEDB40',
'Data Source=c:/book1xls;Extended Properties=Excel 80')Sheet1$
注意,OPENROWSET 对第二个(“提供程序字符串”)参数使用一种非常规语法: SELECT FROM OPENROWSET('MicrosoftJetOLEDB40',
'Excel 80;Database=c:/book1xls', Sheet1$)
ActiveX 数据对象 (ADO) 开发人员按照常规应对 OPENROWSET 的第二个(“提供程序字符串”)参数使用的语法会 SELECT FROM OPENROWSET('MicrosoftJetOLEDB40',
'Data Source=c:/book1xls;Extended Properties=Excel 80', Sheet1$)
造成 Jet 提供程序出现以下错误:
Could not find installable ISAM

很多组织机构慢慢的在不同的服务器和地点部署SQLServer数据库——为各种应用和目的——开始考虑通过SQLServer集群的方式来合并。

将SQLServer实例和数据库合并到一个中心的地点可以减低成本,尤其是维护和软硬件许可证。此外,在合并之后,可以减低所需机器的数量,这些机器就可以用于备用。

当寻找一个备用,比如高可用性的环境,企业常常决定部署Microsoft的集群架构。我常常被问到小的集群(由较少的节点组成)SQLServer实例和作为中心解决方案的大的集群哪一种更好。在我们比较了这两个集群架构之后,我让你们自己做决定。

什么是Microsoft集群服务器

MSCS是一个WindowsServer企业版中的内建功能。这个软件支持两个或者更多服务器节点连接起来形成一个“集群”,来获得更高的可用性和对数据和应用更简便的管理。MSCS可以自动的检查到服务器或者应用的失效,并从中恢复。你也可以使用它来(手动)移动服务器之间的负载来平衡利用率以及无需停机时间来调度计划中的维护任务。

这种集群设计使用软件“心跳”来检测应用或者服务器的失效。在服务器失效的事件中,它会自动将资源(比如磁盘和IP地址)的所有权从失效的服务器转移到活动的服务器。注意还有方法可以保持心跳连接的更高的可用性,比如站点全面失效的情况下。

MSCS不要求在客户计算机上安装任何特殊软件,因此用户在灾难恢复的经历依赖于客户-服务器应用中客户一方的本质。客户的重新连接常常是透明的,因为MSCS在相同的IP地址上重启应用、文件共享等等。进一步,为了灾难恢复,集群的节点可以处于分离的、遥远的地点。

在集群服务器上的SQLServer

SQLServer2000可以配置为最多4个节点的集群,而SQLServer2005可以配置为最多8个节点的集群。当一个SQLServer实例被配置为集群之后,它的磁盘资源、IP地址和服务就形成了集群组来实现灾难恢复。

SQLServer2000允许在一个集群上安装16个实例。根据在线帮助,“SQLServer2005在一个服务器或者处理器上可以支持最多50个SQLServer实例,”但是,“只能使用25个硬盘驱动器符,因此如果你需要更多的实例,那么需要预先规划。”

注意SQLServer实例的灾难恢复阶段是指SQLServer服务开始所需要的时间,这可能从几秒钟到几分钟。如果你需要更高的可用性,考虑使用其他的方法,比如logshipping和数据库镜像。

单个的大的SQLServer集群还是小的集群

下面是大的、由更多的节点组成的集群的优点:

◆更高的可用新(更多的节点来灾难恢复)。

◆更多的负载均衡选择(更多的节点)。

◆更低廉的维护成本。

◆增长的敏捷性。多达4个或者8个节点,依赖于SQL版本。

◆增强的管理性和简化环境(需要管理的少了)。

◆更少的停机时间(灾难恢复更多的选择)。

◆灾难恢复性能不受集群中的节点数目影响。

下面是单个大的集群的缺点:

◆集群节点数目有限(如果需要第9个节点怎么办)。

◆在集群中SQL实例数目有限。

◆没有对失效的防护——如果磁盘阵列失效了,就不会发生灾难恢复。

◆使用灾难恢复集群,无法在数据库级别或者数据库对象级别,比如表,创建灾难恢复集群。

虚拟化和集群

虚拟机也可以参与到集群中,虚拟和物理机器可以集群在一起,不会发生问题。SQLServer实例可以在虚拟机上,但是性能可能会受用影响,这依赖于实例所消耗的资源。在虚拟机上安装SQLServer实例之前,你需要进行压力测试来验证它是否可以承受必要的负载。

在这种灵活的架构中,如果虚拟机和物理机器集群在一起,你可以在虚拟机和物理机器之间对SQLServer进行负载均衡。比如,使用虚拟机上的SQLServer实例开发应用。然后在你需要对开发实例进行压力测试的时候,将它灾难恢复到集群中更强的物理机器上。

集群服务器可以用于SQLServer的高可用性、灾难恢复、可扩展性和负载均衡。单个更大的、由更多的节点组成的集群往往比小的、只有少数节点的集群更好。大个集群允许更灵活环境,为了负载均衡和维护,实例可以从一个节点移动到另外的节点。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13152816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-12
下一篇 2023-06-12

发表评论

登录后才能评论

评论列表(0条)

保存