首页数据库分布式数据库搭建?如何用SQL Server建立分布式数据库

分布式数据库搭建?如何用SQL Server建立分布式数据库

编程之家2023-10-1880次浏览

本篇文章给大家谈谈分布式数据库搭建,以及如何用SQL Server建立分布式数据库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

分布式数据库搭建?如何用SQL Server建立分布式数据库

如何用SQL Server建立分布式数据库

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

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

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

分布式数据库搭建?如何用SQL Server建立分布式数据库

什么是Microsoft集群服务器

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

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

分布式数据库搭建?如何用SQL Server建立分布式数据库

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

在集群服务器上的SQL Server

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

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

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

单个的大的SQL Server集群还是小的集群

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

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

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

◆更低廉的维护成本。

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

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

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

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

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

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

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

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

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

虚拟化和集群

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

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

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

什么是分布式数据库

精确的分布式数据库定义:分布式数据库是由一组数据组成的,这组数据分布在计算机网络中的不同的计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个节点也能通过网络通信子系统执行全局应用。与之前的定义相比,更注重场地自治性以及自治场地之间的协作性。

分布式数据库系统:一个粗略的定义是“分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同节点上(亦称场地)上,逻辑上是属于同一个系统。”这里强调两点:

(1)分布性:数据库中的数据不是存储在同一场地,更确切的说,不存储在同一计算机的存储设备上,这就可以和集中式数据库相互区别。

(2)逻辑整体性:这些数据逻辑上是互相联系的,是一个整体(逻辑上如同集中数据库)。

mysql分布式集群的搭建方案

不是很理解,比如说你3台搭建分布式,你通过什么方式区分库表?假设每台服务器上部署一个mysql实例,那你怎么把数据分布到3个mysql里面?是每个mysql里面存不同的表么?如果这样,就还可以接受。这块问题不是很大。

第二个问题,你的HA主备,意思是说两个分布式互为主备?那怎么备份,怎么切换?

其实按照你想要达到的目标。应该是每两台互做主备,形成3对主备库,然后这3对再组建一个分布式集群。

其实和你要做的可能差不多,不过逻辑上还是有差异的。HA你准备怎么做?keepalived?

另外,咨询一下,你的分布式是通过什么来实现,不同业务访问不同的数据库,每个库存不同的表?还是相同的表分布在不同数据库?

看你服务器的配置如何,其实我觉得一般来说拿3台来做备机有点浪费,如果配置允许,可以考虑做成6套mysql主备的分布式集群。

通过交叉互备实现硬件的最大利用。下图是我们之前用4台服务器做的一套集群方案。

如果还有其他问题可以和我联系。

什么叫分布式数据库,有什么优点和缺点

分布式是分布式,集群是集群。

分布式比如有ABCD用户,将AB提交的数据写到数据库1去,CD用户群组的数据提交到数据库2去

优点:降低单个数据库的压力(数据量少,单个数据库不会被频繁操作到,如提交事务,少几个人少去抢占资源),不然,像上面单个数据库同时要处理四个人的数据,肯定比处理两个的压力小得多了(PS:1、2两个数据库的内容是不一致的,但是结构是一致的)。响应速度快,一般用于大客户的解决方案

缺点:用的硬件较多,开发成本较高(不像单台机器那样,不管如何都写到一台机器上)。

集群:构建多个相同数据库(内容一样),类似备份(一个数据一生成一条数据,立马将该数据同步到另一台上面去,查询时可以多台任选一台,单台压力低),一台挂了,别一台上面还是有备份的,也有分布式的优点,不过,需要集群的几台机器网络环境较好,数据推送才能及时。

大概就是这样

OK,关于分布式数据库搭建和如何用SQL Server建立分布式数据库的内容到此结束了,希望对大家有所帮助。

台式电脑主机电源线(台式电脑有几个电源线)如何查看域名,如何查看自己计算机的域名