SQL Server数据仓库的基础架构规划

问题

SQL Server数据仓库具有自己的特征和行为属性,有别去其他。从这个意义上说,数据仓库基础架构规划需要与标准SQL Server OLTP数据库系统的规划不同。在本文中,我们将介绍在计划数据仓库时应该考虑的一些事项。

解决

SQL Server 数据仓库系统参数

数据仓库本身有自己的参数,因此每个数据仓库系统都有自己独特的特性。在决定数据仓库系统的基础结构时,必须评估许多参数。在这些参数中,主要参数是数据量、报告复杂性、用户、系统可用性和ETL。

数据量

正如你可能知道的,数据量是大数据的七个属性之一。与事务系统不同,数据仓库系统倾向于存储历史数据以及具有多个域和系统的数据。这意味着数据仓库中的数据量将会很大,并且会快速增长。

报表复杂性

在数据仓库的情况下,报表有四种类型:描述性、诊断性、预测性和说明性。数据仓库是分析的框架,这意味着报告用户应该有执行特别查询的选项。此外,还有一些报表将使用具有不同类型连接的大量表和大量聚合。

通常,数据仓库解决方案必须支持以下查询类型的组合:

  • 简单: 使用一个事实表和几个维度表进行相对直接的Select 查询。
  • 中等: 重复执行包含聚合或多个连接的查询
  • 复杂: 具有复杂聚合、连接和计算的特殊查询(ad-hoc)。此外,这类查询还包含数据挖掘和预测分析

用户数量

通常,数据仓库的用户数量少于事务系统。然而,由于大型查询是在相当长的一段时间内出于分析目的而执行的,因此并发性是一个问题。

可用性

Sometimes, depending on the geography distribution of data warehouse users, there
is a need to have operating system time slots. Also, planned down time and unplanned
outages can affect Availability.

有时,根据数据仓库用户的地理分布,需要有操作系统的时差。此外,计划停机时间和意外停机也会影响可用性。

ETL

ETL (Extract-Transformation-Load):是数据仓库的一个基本组件。对于一些数据仓库,每日ETL就足够了。实际上,大多数数据仓库ETL都属于这一类。有些数据仓库在白天有几个ETL作业,而其他ETL作业将在非高峰时间执行。在一些情况下,一些数据仓库需要实时数据。

从这些参数可以看出,数据仓库系统可以是这些参数的多个复杂性的组合。因此,很难判断数据仓库属于哪一类。

下表包含这些不同规模的系统参数

Parameter \ Scale Small Medium Large
数据量 Less than 1 TB 1 to 10 TB More than 10 TB
报表复杂度 Simple – 60 % Medium – 30 % Complex – 10 % Simple – 50 % Medium – 40 % Complex – 10 % Simple – 20 % Medium – 50 % Complex – 30 %
用户数量 100 Users 10 Concurrent users 1000 Users 100 – 200 concurrent users 1000 concurrent users
可用性 Typical business hours 1-2 hrs of down time 24x7
ETL One ETL per day Intra Day ETL Real Time Data

由于很难选择数据仓库的规模,通过查看上面的参数,您可以了解数据仓库的规模。

负载类型

在分析数据仓库的容量之后,下一步是分析数据仓库的工作负载。数据仓库的典型工作负载是ETL、数据模型和报告。

ETL

通常,ETL从事务系统、异构源中提取数据,并对其进行转换,以适应数据仓库这个分析平台。在提取阶段,源系统将有IO和内存负载。由于不应该也不能中断源系统,因此需要对提取进行适当的计划,以使其不会影响源系统。转换通常发生在数据仓库端。因为转换需要更多的计算能力,这意味着CPU的消耗将随着内存的使用而增加。数据的加载还需要数据仓库系统上更多的IO。由于数据来自多个源,在ETL过程中,网络带宽通常是网络管理员关心的问题。

Data 模型

在大多数技术中,会在数据仓库之上创建一个额外的层,以提高报告和分析的性能。例如,对于SQL Server SSAS多维数据集,SSAS 扁平数据集,同时对于Oracle, Hyperion数据集是可用的。在这个层中,数据将从数据仓库读取并处理到数据模型层。在ETL之后,需要处理这些数据模型以保持数据同步。在这个模型层中,将存储聚合的数据,因此数据模型的处理是高CPU和IO操作。此外,聚合是内存密集型操作。

数据仓库结构分层

一图胜千言

报表和分析

告和分析是最终用户的端点。在报告的情况下,报告更有可能收集大量数据。如果报表正在使用数据模型,那么报表服务器端就会出现问题。在分析的情况下,如果使用数据挖掘算法,会消耗高CPU,因为数据挖掘算法消耗CPU。

此外,还有一些选项,如报表平台中的数据驱动订阅和标准订阅,特别是在SQL Server reporting Services (SSRS)的情况下。由于报告是写到磁盘上的,如Word、Excel或PDF文件,IO的使用率可能相当高。

运维工作负载

除了数据仓库平台上的典型操作之外,还需要完成其他维护任务。

重建索引

索引用于更好的数据检索性能。由于对数据仓库的写操作较少,管理员可以选择创建许多索引。此外,对于数据仓库,可以创建columnstore索引。当存在这些索引时,需要重新构建索引,以避免索引碎片并提高总体性能。如前所述,数据仓库中可能有大量的索引,数据量很大,因此在重建索引时,流程可能会消耗大量的CPU和IO。

数仓的索引与事务性的索引创建有很大不同,更多关注减少非聚集索引的方式。

备份

数据备份不是“必需的”,因为数据通常是从其他源系统生成的。备份也是“必需的”,如果需要,它可以帮助恢复,而不是从头开始重建所有东西。由于数据仓库通常具有大量的数据,因此备份会在系统上使用大量的CPU和IO。一般来讲备份要注意归档和档期当前数据的分区还原等。

原文地址:https://www.cnblogs.com/wenBlog/p/10366916.html

时间: 2024-11-07 05:31:59

SQL Server数据仓库的基础架构规划的相关文章

IT基础架构规划方案三(IT基础软件和系统规划)

IT基础软件和系统规划 操作系统选型规划方案 根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选型规划,根据不同的系统对服务 某集团信息化应用目标是:搭建集成.统一平台,规避流程.规避风险,实现高效协作,有效支撑决策.实现多维度矩阵管控.实现无边界的信息应用. 操作系统选型参考和说明: 类型 操作系统选型参考 选型说明 域服务器/邮件服务器等企业IT管理系统 Windows Server系列操作系统 建议选用最

SQL Server 2008从基础开始学习历程(1)------创建表与查询

[by:yy] 无论我们学什么呢,都要讲究一个Why,一个How.那么我们为什么要学SQL呢?无非就那么几点. 1.为了适应其他技术,和其他技术配对而学. 我个人的理解呢,只要在IT行业,无论你学什么,或者做什么工作.都离不开数据库.而学习数据库呢,又太文字化了,看的心里就烦.我是很抵触文字的.看着一大排一大排的字,就怕.可能是大天朝的教育所致.已经怕了学生生涯了. 2.为了适应社会而学. 随便找个招聘信息,都会有标注需要会SQL语言啊.了解MySql呀.会搞Oracle呀.所以呢,为了能在找工

IT基础架构规划方案二(计算机系统与机房规划规划)

计算机系统规划       服务器硬件选型规划方案       根据对某集团的实际调研,获取了企业业务应用系统的建设情况,随着企业信息化建设的推进,需要对各种信息化管理系统和应用系统的服务器选型进行选型规划,根据不同的系统对服务器硬件的性能指标要求不同,比如企业网站服务器.邮件服务器.域控制服务器.文件和打印服务器.业务系统服务器等,通过结合系统在线用户数.业务请求数和业务产生的事物数等参数来计算tpmC值,从而估算出服务器硬件的性能要求. tpmC定义为TPC-C的吞吐量(TPC-C Thro

IT基础架构规划方案一(网络系统规划)

背景                   某集团经过多年的经营,公司业务和规模在不断发展,公司管理层和IT部门也认识到通过信息化手段可以更好地支撑公司业务运营.提高企业生产和管理效率.同时随着新建办公大楼.研发大楼和厂房的落成,IT部门也需要对整个集团的信息化和企业IT基础架构进行规划和建设.目前主要分为以下两部分:         楼宇智能化规划和建设方案:主要包括视频监控.门禁系统.语音和数据节点规划和布线.CATV.大屏幕电子显示屏.机房建设等.         企业IT基础架构规划和解决

23. SQL -- SQL Server安装,运行架构,管理SQL

SQL SERVER 2008 安装   SQL SERVER 2008 版本: 版本 说明 精简版: 对于断开客户或单机应用 工作组版 :数据库工作组或分支机构的运营 标准版: 数据库服务器部门级应用(nomirror\partition\db snapshot) 企业版: 高扩展性和可用性的企业级数据库(具体参考文档:2008 版本功能及参数比较) 开发版: 企业版,用于开发和测试许可 Web 版: 允许托管公司提供低成本,高可扩展的托管与低月使用费 移动版:  紧凑型数据库的智能手持设备

SQL Server 2012 T-SQL基础教程--T-SQL查询和编程的背景

理论背景 1. SQL:Structured Query Language, 是RDBMS(Relational Database Management Systems)的查询和管理数据的标准语言. 2. 理解集合理论和谓词逻辑,RDBMS基于这两个数学分支. 3. SQL语句类别: Data Definition Language, DDL:数据定义语言,处理对象的定义,包括诸如create.alter和drop等语句. Data Manipulation Language,DML:数据操作语

SQL Server调优基础系列 - 性能调优介绍

前言 关于SQL Server调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL 调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优. 通过本篇了解如何阅读和理解查询计划.并且列举一系列最常用的查询执行运算符. 技术准备 基于SQL Server2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析. 一.区别不同的运算符 在所有T-SQL语句在执行的时候,都会将语句分解为一些基本的结构单元,这些结构单元统称为:运

SQL Server Alwayson搭建一:规划

规划:3台虚拟机:1台作为域控(DC),另外2台安装SQL Server 序号 名称 TCP/IPv4 备注 1 sqldc 192.168.0.100255.255.255.0192.168.0.254DNS:127.0.0.1 DC 2 sql01 192.168.0.101255.255.255.0192.168.0.254DNS:192.168.0.100 Node 1 3 sql02 192.168.0.102255.255.255.0192.168.0.254DNS:192.168.

SQL Server 存储过程之基础知识(转)

什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度.2.当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用.3.存储过程可以重复使用,可减少数据库开发人员的工作量.4.安全性高,可设定只有某些用户