前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库领域一些概念介绍

数据库领域一些概念介绍

作者头像
AsiaYe
发布2019-11-06 14:40:07
5070
发布2019-11-06 14:40:07
举报
文章被收录于专栏:DBA随笔DBA随笔

数据库领域的一些名词介绍

21

Sep,2018

今天正常上班,值得说的是公司搞了一个庆祝中秋的活动,在一个大气垫上方挂了一个“月(圆)亮(鼓)”,让大家跳起来敲,敲到的人可以赢一盒月饼,或者一份阳澄湖大闸蟹,参加的人挺多的,感觉很棒,互联网公司还是很有活力的嘛!~

1

CMDB

CMDB介绍

CMDB即配置管理数据库Configuration Management Database,通过整合、调和、同步、映射和可视化企业的IT资源,从而高效控制与管理不断变化的IT基础架构与IT服务,并为其它流程,例如事故管理、问题管理、变更管理、发布管理等流程提供准确的配置信息。

  • 整合是指能够充分利用来自其他数据源的信息,对CMDB中包含的记录源属性进行存取,将多个数据源合并至一个视图中,生成连同来自CMDB和其他数据源信息在内的报告;
  • 调和能力是指通过来自每个数据源的匹配字段进行对比,保证CMDB中的记录在多个数据源中没有重复现象,维持CMDB中每个配置项目数据源的完整性;自动调整流程使得初始实施、数据库管理员的手动运作和现场维护支持功能将至最低;
  • 同步指确保CMDB中的信息能够反映联合数据源的更新情况,在联合数据源更新频率的基础上确定CMDB更新日程,按照经过批准的变更来更新CMDB,找出未被批准的变更;
  • 应用映射与可视化,说明应用间的关系并反应应用和其他组件之间的依存关系,了解变更造成的影响并帮助诊断问题。

2

MHA

MHA介绍

什么是MHA?

MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

MHA节点组成以及架构原理

MHA方案中的节点由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。

在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险。MHA可以与半同步复制结合起来。如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。

目前MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库,因为至少需要三台服务器,出于机器成本的考虑,一些公司已经在该基础上进行了改造。

MHA工作原理

总结为如下:

(1)从宕机崩溃的master保存二进制日志事件(binlog events);

(2)识别含有最新更新的slave;

(3)应用差异的中继日志(relay log)到其他的slave;

(4)应用从master保存的二进制日志事件(binlog events);

(5)提升一个slave为新的master;

(6)使其他的slave连接新的master进行复制;

3

Ansible工具

Ansible工具介绍

Ansible是什么?

Ansible是新出现的自动化运维工具,它是基于 Python开发的,集合了众多的运维工具,包含puppet、chef、func、fabric的有点,实现了批量系统配置、批量系统部署、批量运行命令等功能。只要能通过ssh方为道某一台服务器,就可以将代码部署到任意数量的服务器上,它可以帮我们完成一些批量任务,或者完成一些需要经常重复的工作。比如同时在100台服务器上安装nginx服务,并在安装后启动它们。

Ansible特性

1.模块化:调用特定模块,完成特定任务

2.有Paramiko、PyYAML、Jinja2三个关键模块

3.支持自定义模块

4.部署简单,基于python和SSH,agentless

5.安全,基于OpenSSH

6.支持playbook编排任务

7.幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况

8.无需代理不依赖PKI(无需ssl)

9.可使用任何编程语言写模块

10.YAML格式,编排任务,支持丰富的数据结构

11.较强大的多层解决方案

Ansible主要组成部分功能说明

1.PLAYBOOKS:

任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是 JSON格式的YML文件

2.INVENTORY:

Ansible管理主机的清单/etc/anaible/hosts

3.MODULES:

Ansible执行命令的功能模块,多数为内置的核心模块,也可自定义,ansible-doc –l 可查看模块

4.PLUGINS:

模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用

5. API:

供第三方程序调用的应用程序编程接口

6.ANSIBLE:

组合INVENTORY、 API、 MODULES、PLUGINS的绿框,可以理解为是ansible命令工具,其为核心执行工具

Ansible架构

Ansible工作原理

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ansible主要组成部分功能说明
  • Ansible架构
  • Ansible工作原理
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档