天天看点

数据库相关一、MySQL的数据库主从复制原理二、DB、DW、DM、ODS、OLAP、OLTP和BI的概念理解

一、MySQL的数据库主从复制原理

原文链接: https://www.cnblogs.com/phpper/p/8904169.html 来源:博客园

MySQL主从复制实际上基于二进制日志,原理可以用一张图来表示:

数据库相关一、MySQL的数据库主从复制原理二、DB、DW、DM、ODS、OLAP、OLTP和BI的概念理解

MySQL数据库主从同步延迟分析及解决方案

分为四步走:

  1. 主库对所有DDL和DML产生的日志写进binlog;
  2. 主库生成一个 log dump 线程,用来给从库I/O线程读取binlog;
  3. 从库的I/O Thread去请求主库的binlog,并将得到的binlog日志写到relay log文件中;
  4. 从库的SQL Thread会读取relay log文件中的日志解析成具体操作,将主库的DDL和DML操作事件重放。

关于DDL和DML

SQL语言共分为以下几大类:查询语言DQL,控制语言DCL,操纵语言DML,定义语言DDL。事务控制TCL.

DQL(Data QUERY Languages)语句: 即数据库定义语句,用来查询SELECT子句,FROM子句,WHERE子句组成的查询块,比如:select–from–where–grouop by–having–order by–limit

DDL(Data Definition Languages)语句: 即数据库定义语句,用来创建数据库中的表、索引、视图、存储过程、触发器等,常用的语句关键字有:CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME。增删改表的结构

DML(Data Manipulation Language)语句: 即数据操纵语句,用来查询、添加、更新、删除等,常用的语句关键字有:SELECT,INSERT,UPDATE,DELETE,MERGE,CALL,EXPLAIN PLAN,LOCK TABLE,包括通用性的增删改查。增删改表的数据

DCL(Data Control Language)语句: 即数据控制语句,用于授权/撤销数据库及其字段的权限(DCL is short name of Data Control Language which includes commands such as GRANT and mostly concerned with rights, permissions and other controls of the database system.)。常用的语句关键字有:GRANT,REVOKE。

TCL(Transaction Control Language)语句: 事务控制语句,用于控制事务,常用的语句关键字有:COMMIT,ROLLBACK,SAVEPOINT,SET TRANSACTION。

二、DB、DW、DM、ODS、OLAP、OLTP和BI的概念理解

来源:https://cloud.tencent.com/developer/article/1448607, 腾讯云社区

来源:https://blog.csdn.net/daiyutage/article/details/52161088,CSDN

数据库相关一、MySQL的数据库主从复制原理二、DB、DW、DM、ODS、OLAP、OLTP和BI的概念理解

1、DB(DataBase):数据库,一般指的就是OLTP数据库,在线事物数据库,用来支持生产的。DB保留的是数据信息的最新状态,只有一个状态!

2、DW(Data Warehouse):数据仓库,保存的是数据在不同时间点的状态,对同一个数据信息,保留不同时间点的状态,便于我们做统计分析。

3、关于DM,目前网上有两种说法,一说数据集市(Data Mart);一说数据挖掘(Data Mining),百度百科给出的是数据挖掘的概念,我这里将这两种说法都做了解释:

DM(Data Mart):数据集市,以某个业务应用为出发点而建立的局部DW,DW只关心自己需要的数据,不会全盘考虑企业整体的数据架构和应用,每个应用有自己的DM。

DM(Data Mining):数据挖掘,又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“挖掘”知识。

4、ODS(Operating Data Store):操作性数据仓库,最早的数据仓库模型。特点是数据模型采取了贴源设计,业务系统的数据结构是怎样的,ODS数据库的结构就是怎样的。所不同的是ODS数据库可以提供数据变化的历史,所以ODS数据库中每张表都会增加一个日期类型,表示数据的时间点,将每天数据的变化情况都存下来,这样有利于数据的分析。

5、OLTP(on-line transaction processing):联机事务处理,OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

6、OLAP(On-Line Analytical Processing):联机分析处理,OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

7、 ETL 通常同时具有 OLTP 和 OLAP 数据库。从一个或多个 OLTP 源中提取数据,然后转换并加载到 OLAP 系统中。有效的 ETL 工作流依赖于这种 OLTP-OLAP 共生关系。

ETL/Extraction-Transformation-Loading——**用于完成DB到DW的数据转存,它将DB中的某一个时间点的状态,“抽取”出来,根据DW的存储模型要求,“转换”一下数据格式,然后再“加载”到DW的一个过程,**这里需要强调的是,DB的模型是ER模型,遵从范式化设计原则,而DW的数据模型是雪花型结构或者星型结构,用的是面向主题,面向问题的设计思路,所以DB和DW的模型结构不同,需要进行转换。

8、BI(Business Intelligence):商业智能,领导,决策者,在获取了OLAP的统计信息,和DM得到的科学规律之后,对生产进行适当的调整,比如,命令超市人员将啤酒喝尿布放在一起销售,这就反作用于DB修改存货数据了——这就是整个BI的作用!

数据库相关一、MySQL的数据库主从复制原理二、DB、DW、DM、ODS、OLAP、OLTP和BI的概念理解