《Windows Azure Platform 系列文章目录

  在之前的项目中遇到了客户使用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://blogs.msdn.microsoft.com/sqlcat/2017/09/05/azure-sql-data-warehouse-workload-patterns-and-anti-patterns/

Azure SQL 数据库仓库Data Warehouse (1) 入门的更多相关文章

  1. Azure SQL 数据库仓库Data Warehouse (3) DWU

    <Windows Azure Platform 系列文章目录> 在笔者的上一篇文章中:Azure SQL 数据库仓库Data Warehouse (2) 架构 介绍了SQL DW的工作节点 ...

  2. Azure SQL 数据库仓库Data Warehouse (2) 架构

    <Windows Azure Platform 系列文章目录> 在上一篇文章中,笔者介绍了MPP架构的基本内容 在本章中,笔者给大家介绍一下Azure SQL Data Warehouse ...

  3. Azure SQL 数据库仓库Data Warehouse (4) 2018 TechSummit 动手实验营

    <Windows Azure Platform 系列文章目录> 上传一下之前在2018 TechSummit的动手实验营:Azure数据仓库PaaS项目架构规划与实战入门 包含PPT和Wo ...

  4. Azure SQL 数据库:新服务级别问答

    ShawnBice   2014 年 5 月 1 日上午 11:10 本月初,我们庆祝了SQL Server 2014 的推出,并宣布正式发布分析平台系统,同时分享了智能系统服务预览版.Quentin ...

  5. 价格更低、SLA 更强的全新 Azure SQL 数据库服务等级将于 9 月正式发布

    继上周公告之后,很高兴向大家宣布更多好消息,作为我们更广泛的数据平台的一部分, 我们将在 Azure 上提供丰富的在线数据服务.9 月,我们将针对 Azure SQL 数据库推出新的服务等级.Azur ...

  6. Azure SQL 数据库引入了新的服务级别

     新的级别将提升客户体验,并提供更多的业务连续性选项 为了更好地满足您在灵活性提升方面的需求,MicrosoftAzure SQL 数据库添加了新的服务级别(基础级和标准级),以与当前处于预览状态 ...

  7. 在 Azure 上创建和链接 Azure SQL 数据库

    本快速入门介绍了如何在 Azure 门户中创建并连接 Azure SQL 数据库.在本教程中完成的所有操作均符合 1 元试用条件. 开始之前 如果您还没有 Azure 账户,可以申请 1 元试用账户. ...

  8. 如何将Azure SQL 数据库还原到本地数据库实例中

    原文:https://www.jerriepelser.com/blog/restore-sql-database-localdb/ 原文作者: Jerrie Pelser 译文:如何将Azure S ...

  9. 试用 Azure Sql 数据库

    我们的12月试用账号的免费服务里有一个Azure Sql服务,最近正好自己做一个小工具需要一个数据库,正好可以把它当测试库顺便体验一把Azure Sql. 概述 Azure SQL 数据库 Azure ...

随机推荐

  1. CodeForces - 441E:Valera and Number (DP&数学期望&二进制)

    Valera is a coder. Recently he wrote a funny program. The pseudo code for this program is given belo ...

  2. 实验吧—Web——WP之 猫抓老鼠

    打开解题链接后,发现他是让我们输入key提交查询就能进行下一步 题目中提示了:catch(抓的意思) 那么我们很容易就能想到是BP抓包,抓包后直接放到repeater中改包. 我们先GO一下看看有什么 ...

  3. struts2简单类型参数转换器(拦截器自动转换)

    这边测试类型int,string,date,list(set),map,下面贴代码 struts.xml文件代码 <!-- 类型转换 --> <action name="C ...

  4. crontab 例子

    一个简单的 crontab 示例 0,20,40 22-23 * 7 fri-sat /home/ian/mycrontest.sh 在这个示例中,我们的命令在 7 月的每个星期五和星期六晚上 10 ...

  5. 芯灵思SINA33开发板怎样创建编译环境

    首先在Vmware安装好Centos,在此不再重复步骤,大家可以看以前的帖子有详细的步骤.本节主要介绍如何在Centos 搭建编译环境 Step 1 更新 CentOS 源 CentOS 由于很追求稳 ...

  6. 创建一个简单的terraform module

      terraform module可以实现代码的复用,同时方便分享,下面创建一个简单的基于localfile && template provider 的module module ...

  7. Python基础_私有变量访问限制

    Python内置了一些特殊变量,以前后上下划线标注,同时我们自己要想定义一些变量,不想让外部访问,又该怎么做呢?更多内容请参考:Python学习指南 访问限制 在class内部,可以有属性和方法,而外 ...

  8. Python之安装pip

    安装Python之后,命令行语句定位到其安装目录下的Scripts目录 如我的安装目录是:D:\python\Scripts 然后执行命令:easy_install.exe pip就会开始安装pip ...

  9. zabbix--3.0--2

    zabbix页面注意事项  1. 工作中使用zabbix常遇到的问题:生产一台机器告警了顺手关闭了,然后忘记打开了 2.监控项这里,也尽量不禁用,而是删除.能删除就删除 3.使用触发器的过程中,有时候 ...

  10. 腾讯云 COS 对象存储使用

    目前使用腾讯云的对象存储cos服务,将本地的文件同步到cos中,看了腾讯云的用户文档,发现使用COS Migration 工具还是挺适合的. 原因 因为服务器已经安装有java环境,而cos的几个用户 ...