博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Azure SQL 数据库仓库Data Warehouse (1) 入门
阅读量:5325 次
发布时间:2019-06-14

本文共 2007 字,大约阅读时间需要 6 分钟。

  《》

 

  在之前的项目中遇到了客户使用SQL数据仓库的场景,在这里记录一下

  

  1.什么是SQL 数据库仓库 (SQL DW)

  SQL DW是云端的企业级数据仓库,用来处理TB,甚至PB级别的关系型数据库的OLAP(联机分析处理)场景,主要用来做数据分析和查询

 

  2.什么是OLAP

  OLAP (Online Analysis Processing)联机分析处理。表示从多维数据集的多维结构来对数据进行聚合处理

 

  3.OLAP和OLTP的区别

  OLTP (Online Transaction Processing),联机事务处理。表示事务性非常高的系统,高频度的插入、读取、删除操作

  OLAP和OLTP的使用场景不一样

 

  4.SQL Data Warehouse不适合的场景

  SQL DW不适合OLTP的场景,不适合数据库的高频Insert/update/delete

  (1)OLTP工作负载

  (2)大量的小读写

  (3)多租户数据库
  (4)经常更改架构
  (5)逐行处理
  (6)JSON,XML数据和Spatial,Struct,Array和Map数据类型
  (7)Power BI直接查询需要仪表板性能
  (8)查询的高并发性(例如,数十万个并发查询)
  (9)小数据集(小于250GB)
  (10)通过严格的RPO和RTO进行灾难恢复

 

  5.SQL DW适合的场景

  SQL适合OLAP(联机分析处理)的场景,比如报告,统计,分析等场景

 

  6.SQL DW的设计模式

  (1)批量导入数据

  (2)将Table数据拆分为事实表和维度表

  (3)涉及多张表链接的复杂查询

  (4)针对某些维度的聚合查询

 

  7.什么叫做事实表和维度表

  (1)事实表,就是用来存储真实数据的表,包含数字信息。比如订单数据表,销售数据表等。事实表中的数据量一般很大

  (2)维度表,就是用来描述用户分析数据的角度。一般是事实表的外键表,比如年-月-日,大洲-国家-省份。

  一般来说,事实表就是要关注的内容,维度表就是进行统计的角度。

 

  8.SQL DW的使用场景

  (1)在过去1个月内,有多少客户订购了该产品,统计库存水平是否足够

  (2)一周内,哪一天客户从ATM取款最多

  (3)统计过去30天内,每天的销售额有多少

 

  9.Azure SQL DW采用了大规模并行处理(MPP)架构。

  作为微软云Azure的一种服务,Azure SQL DW由微软维护底层的硬件和软件,以保证SQL DW始终运行在Azure最新的硬件和软件上

  客户可以轻松的把数据加载到SQL DW并进行查询,在业务高峰时,可以横向扩展计算节点

 

  10.什么是大规模并行处理MPP架构

  MPP架构的角色分为头节点(Head Node)和工作节点(Work Node)。

  Head Node保存了数据表的源数据(Meta data),也就是说Head Node知道数据库的哪些数据,保存在哪些Work Node里

  用户的数据表分布在不同的Work Node里。

  当用户对SQL DW进行查询的时候,Head Node会把查询语句分解为很多子查询,根据需要进行数据移动,并且把这些子查询发送给Work Node以进行并行执行

 

  举个例子,假设1个班级有60个学生,当老师需要批改作业的时候,有两种方法:

  (1)老师一个人批改所有60个学生的试卷,速度会很慢

  (2)老师把学生分为6组,每组10个人。然后把全班的试卷平均的分配给这6组。由每个组各自批改试卷。这样批改作业就平行了

  显而易见,第二种方法的效率最高

 

  MPP架构,除了微软的SQL DW以外,还有Hadoop (Hive和Spark), Teradata, Amazon Redshift, Vertica等产品

 

  11.SMP架构

  与MPP相反架构,是SMP (Symmetric Multiprocessing),这就类似于传统的单一数据库。所有的业务逻辑都有1台服务器在处理

  比如传统的SQL Server, MySQL等,都属于SMP架构

   

  12.MPP架构和SMP架构,如何支撑更多的业务需求

  (1)在MPP架构里,计算节点是横向扩展的。比如从6个节点并行处理,横向扩展为20个节点并行处理。这种方式又被称为Scale-Out

  (2)在SMP架构里,计算节点和向上向下扩展的。比如从1台8Core/16GB的服务器,向上扩展为1台32Core/512GB的服务器。这种方式又被称为Scale-Up

 

 

  

 

  参考:

转载于:https://www.cnblogs.com/threestone/p/9414966.html

你可能感兴趣的文章
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
移动、联通和电信,哪家的宽带好,看完你就知道该怎么选了!
查看>>
Linux设置环境变量的方法
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Centos7.2正常启动关闭CDH5.16.1
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>