`

数据库集群简单概念

 
阅读更多

1.集群定义:
集群是指用一组服务器运行一到多个应用程序。

集群可以简单到只有两台服务器,在他们之间配置故障切换,如果一台服务器失效,由另一台服务器接管应用程序的处理。集群也可以用来运行复杂的分布式系统:应用程序将数据分割成多个可管理的部分,每个部分都可以独立进行处理。如果一台服务器失效,其他服务器不会受影响,失效节点的进程被重新分配到集群中的其他节点。

 

2.集群的分类

故障切换集群、分布式数据库系统
故障切换集群又可以分为两类:(主动/被动集群、主动/主动集群)

主动/被动集群:任何时候都只有一台服务器拥有负载,辅助服务器以被动模式运行,时刻等待着主动服务器停机进而接管主服务器,它一直与主动服务器保持同步。缺点:只有一个服务器拥有负载,资源浪费,效率低。

 主动/主动集群:两台服务器同时都执行实际的任务。每台服务器都同一个实例,同时又可以作为其他服务器上运行的实例的故障切换数据库。

 

3.为什么要用数据库集群
使用读写分离,提高数据库的系统性能。
让主数据库处理事务性操作,从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库,从而使从数据库和主数据库的数据保持一致。 主服务器也可以提供查询服务。

 

4.为什么读写分离能提高数据库的性能?
1).物理服务器增加,负荷增加
2).主从只负责各自的写和读,极大程度的缓解X锁和S锁争用
3).从库可配置myisam引擎,提升查询性能以及节约系统开销
4).从库同步主库的数据和主库直接写还是有区别的,通过主库发送来的binlog恢复数据,但是,最重要区别在于主库向从库发送binlog是异步的,从库恢复数据也是异步的。
5).读写分离适用与读远大于写的场景,如果只有一台服务器,当select很多时,update和delete会被这些select访问中的数据堵塞,等待select结束,并发性能不高。对于写和读比例相近的应用,应该部署双主相互复制。
6).分摊读取。假如我们有1主3从,假设现在1分钟内有10条写入,150条读取。那么,1主3从相当于共计40条写入,而读取总数没变,因此平均下来每台服务器承担了10条写入和50条读取。因此,虽然写入没变,但是读取大大分摊了,提高了系统性能。另外,当读取被分摊后,又间接提高了写入的性能。
7).MySQL复制另外一大功能是增加冗余,提高可用性,当一台数据库服务器宕机后能通过调整另外一台从库来以最快的速度恢复服务。

 

5.数据库集群和分布式数据库有什么区别?
1).分布式是并联工作的,集群是串联工作的。
2).分布式是指将不同的业务分布在不同的地方。集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。
举例:比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的
负载不是很重,就将给哪一台去完成。而分布式,跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
3).分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

分享到:
评论

相关推荐

    linux集群应用实战

    第1讲 iscsi的概念、组成和工作原理 课程目标:了解iscsi的组成和工作原理。...通过测试oracle rac数据库集群功能,验证rac数据库是否已经正常工作 rac数据库负载均衡功能测试 故障透明切换功能测试

    操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip

    数据库和传统的关系型数据库差不多的概念,每个数据库含有多个集合,每个数据库最后会作为文件储存至服务器中,另外还有一些特殊的数据库进行了保留 (2)集合(table): 在MongoDB中,数据是以文档的形式存储的,...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    13.8 测试RAC数据库集群的功能 13.8.1 负载均衡测试 13.8.2 透明应用失败切换测试 13.9 本章小结 第14章 构建MySQL+heartbeat+DRBD+LVS集群应用系统 14.1 MySQL高可用集群概述 14.2 heartbeat + DRBD高...

    数据库架构设计.pdf

    动态数据:订单等 数据概念模型:根据需求分析,进⾏综合分析,形成独⽴于具体DBMS的概念模型,要理清 实体和实体关系 属性和域 业务规则(应⽤实现和数据库实现) 并综合考虑如下⼏点 存储哪些数据 数据来源 数据的...

    Redis 集群搭建和简单使用教程

    在集群的概念出现之前,我们使用的硬件资源都是纵向扩展的,但是纵向扩展很快就会达到一个极限,单台机器的Cpu的处理速度,内存大小,硬盘大小没办法一直满足需求,而且机器纵向扩展的成本是相当高的。集群的出现...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    02-数据库概念介绍.avi 03-数据库种类介绍及关系型数据库原理.avi 04-非关系型数据库介绍.avi 05-非关系型数据库种类介绍.avi 06-关系型数据库产品介绍01.avi 07-关系型数据库产品介绍02.avi 08-非关系型数据库产品...

    干扰:具有基本JPA实现和事件处理支持的开源分布式数据库

    概念与功能与您的应用程序在同一JVM中运行使用简单对象(PO​​JO)进行操作使用基本的JPA批注将对象直接映射到持久性存储支持水平扩展SQL查询支持交易支持复杂的事件处理(CEP)和简单的流式SQL 可以用作本地或...

    kvlayer:带有键前缀扫描的键值数据库的python抽象,支持Accumulo,HBase,Postgres,Mysql,Redis等。 仅需更改配置即可切换后端。 例如,在Postgres上进行开发,然后在不更改代码的情况下切换到HBase(nosql)

    kvlayer kvlayer是一个数据库抽象层,为应用程序提供简单的键值存储。 出于开发目的,这可以与内存中的实现或服务器(如; 在测试和生产中,可以将其切换到关系数据库(如或集群数据库(如或 。配置kvlayer依赖库...

    第一章 MySQL基础-简单查询

    数据库的概念 数据库: 存储数据的大型仓库, 数据库由表,视图,触发器,函数,存储过程,事件等组成的. 表是存储数据的核心. 数据库服务器: 软件服务器,不是硬件服务器, 安装mysql之后启动的服务. 如果提到硬件服务器, ...

    OpKanban:Blazor Server应用程序概念验证,使用MongoDB Realm制作看板

    运行自己数据库准备创建一个集群为该集群部署Realm应用使用_pk上的分区键string为数据库打开Realm Sync 在名为KanbanTask数据库中创建一个集合,并将其架构设置为 开启电子邮件/密码验证创建一个帐户应用准备Git克隆...

    大数据基础--大数据概念与应用(刘鹏《大数据》课后习题答案).pdf

    ⼤数据的采集通常采⽤多个数据库来接收终端,并且可以使⽤数据库进⾏简单的处理⼯作。常⽤⽅法主要有数据抓取、数据 导⼊、物联⽹传感设备⾃动采集。 (2)导⼊与预处理。主要包括数据清洗、数据集成、数据变换、...

    漫谈大数据第四期-storm

    其中讨论了多种Storm概念和抽象,提供了范例代码以便你可以运行一个Storm Topology。开发过程中,可以用本地模式来运行Storm,这样就能在本地开发,在进程中测试Topology。一切就绪后,以远程模式运行 Storm,提交...

    Oracle 11gr2 RAC安装图文教程 所需要的RPM包.rar

    1 RAC的概念与作用RAC的英文全称为real Application Cluster,即实时应用集群,它是Oracle数据库所采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。简单来说,RAC就是一个...

    超详细mongodb教程.zip

    护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新 的思维的注入。 关系型数据库遵循ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性...

    大数据发展历史.pdf

    2006——2009年,⾕歌公开发表两篇论⽂《⾕歌⽂件系统》和《基于集群的简单数据处理:MapReduce》,其核⼼的技术包括分布式⽂ 件系统GFS,分布式计算系统框架MapReduce,分布式锁Chubby,及分布式数据库BigTable,...

    大数据的基础知识.pdf

    ⼤数据的基础知识 1、⼤数据的基础知识 ⼤数据的概念 ⼤数据(big data),IT⾏业术语,是指⽆法在⼀定时间范围内⽤常规软件⼯具进⾏捕捉、管理和处理的数据集合,是需要新处理模式才能 具有更强的决策⼒、洞察发现...

    leetcode中国-bookmarks:有用的网站记录

    的概念(分布式基础设施之上的虚拟系统层),然后介绍如何家用老电脑(上图)组建一个集群。 (Turing Pi) 图灵派是树莓派的一个集群板,好比机房里面的一个机架,可以用来自己架设 Kubernetes 集群 该仓库收集可以...

    Redis开发的教程.doc

    Redis开发教程通常涵盖了Redis的基本概念、数据类型、命令、操作、性能优化以及应用场景等方面的内容。以下是一个简单的教程介绍: 1. **Redis简介和安装**:首先,你需要了解Redis是什么,它能做什么,以及如何在...

    rdbms-mdb-migration-workshop

    如何使用简单的开源工具将数据从MySQL提取,转换和加载到MongoDB 如何运行聚合以询问更复杂的数据业务查询 如何使用MongoDB图表可视化集群中的数据 本教程旨在作为举办的数字研讨会的一部分而完成。 技术 技术复杂度...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    数据库集群和库表散列 150 缓存 151 镜像 151 负载均衡 152 【网络】说说你对Http协议和Socket协议的理解 153 http协议 153 Tcp协议 154 【网络】HTTPS的工作原理说明HTTPS是安全的 155 【消息队列】为什么要使用...

Global site tag (gtag.js) - Google Analytics