用SQL Server 2005构建高性能的数据仓库(一)

sql server下的数据仓库的构建 SQL Server2008/R2 下的数据仓库的构建       本文详细介绍在SQL Server下如何做数据仓库的构建和如何利用数据仓库进行有效的分析,假设读者已经具备相关的理论知识,由于在SQL Server上都是实践过程,因此主要以截图来展示,这样做的好处是读者可直接按照该步骤进行操作,由于之前作者是写在word中的,因此直接截图,好了,话不多说,直接开始。 上面的全部内容是利用数据仓库... 阅读详情
摘要:本文主要讨论当架构一个很大的、高性能的数据仓库,特别是对那种无法预知有多少查询量的系统时要考虑的一些东西。这个讨论包括SQL Server 2005的一些新的特性以及在使用这些特性的时候需要考虑的一些东西。它同时也包括了创建或存储一个聚合的数据集来使得主流的查询和报表更加容易。
一.             介绍
有一些具有访问数据权限的“超级用户”已经学会了专业的Transact-SQL。SQL Server 2005 报表服务(SSRS)中的报表构造器的便利性扩展到了强大的Transact-SQL查询的创建,使得更多的用户使用它时更加容易。他们这种消耗系统资源的能力是无法超越的,在保持一致的性能方面对数据库管理员(DBA)构成了挑战。但是,当SQL Server的分析服务(SSAS)被提及的时候,需要用不可预知的方式访问数据的用户可能感到他们的查询效率受到阻碍。因此,你怎样使得你的商业用户查询到他们所需要的东西,也跟给予他们性能很好地查询以及始终满足服务级别的协议(SLA)一样重要。
在过去的几年中,大量的信息都是围绕数据仓库和商业智能(BI)开展的。很大一部分信息聚焦于构建一个数据仓库或者数据市场来满足或者超过与制定策略决定相关的商业目标。随着SQL Server 2005的发布,1000GB范围内的相关数据仓库的实现在它附加的功能中提供了支持。这份白皮书说明了在SQL Server 2005上用一个性能的视角架构一个相关的数据仓库或者数据市场时包括的最佳实践。
在这份白皮书中也讨论了围绕硬件选择方面的一些显而常见的问题、SQL Server实例和数据库配置和table/index的设计,它还介绍了为了交付一个数据市场或数据仓库来平衡查询性能时的整体的策略。
相关的数据仓库的性能常常在更新数据库和查询时感觉到。更新操作需要对新的数据进行更多的提取、转换和载入。DBA有责任尽可能更有效率的设计和维护数据库。查询操作也以很多种方式出现,例如终端用户的查询、报表服务等。既然分析服务在各种查询中是最可预测的,白皮书主要聚焦于对相关数据库仓库的直接的查询。
在继续讲之前,我们对已提及到的一些东西做一些假设。用来存储信息的一些相关的数据仓库通常是非常大的。数据仓库和数据市场常常被可替换的使用。但是,数据仓库更多的跟信息在所有的企业的信息存储有关。这些数据被清空,并且是以一种正常的方式和很少的直接查询。相反,它常常使用一致的数据源来为一种或多种面向主题的数据仓库直接的服务用户。在数据市场中的数据虽然能够以各种方式来设计,但是常常是用一种空间的方式。在工业中,“数据市场”结合在一起变成了“数据仓库”。
但是,从一致性方面考虑,在这份白皮书中,我们使用“数据仓库”这个概念作为包含数据市场的一个通用的概念。
这份白皮书假设读者已基本熟悉数据仓库的概念、空间建模、SQL Server 2005表的分离以及索引化的视图。其中很多的查询结果比较测试是在项目REAL的数据库中进行的。项目REAL是一个在SQL Server 2005上的真实的数据仓库的参考实现。
二、创建一个可靠的基础
创建一个高性能的数据仓库的关键是懂得那些数据,以及知道用户是怎样查询数据库的。后者常常有着很大变化,因此很有必要根据查询模式的改变来持续的进行一些调整。有一些基础组织的决定对系统的性能产生巨大影响。
1.       硬件方面的考虑
硬件方面的决定常常做得早于系统的任何一个重要的方面。为相关的数据仓库选择硬件是很具有技巧的一件事。这对于满足那些超级用户的报表需求变得更加常用。
64位的平台因为它的可扩展的存储架构给数据仓库提供了很多的优点。数据仓库支持读取GB级和TB级数据级的存储要求。这种平台消除了32位的平台上的一些顾虑,但是又具有32位平台的所有优点。对于数据仓库来说更加是这样,因为数据仓库存储和查询非常大的数据库。
在选择64位平台时,还需要考虑是使用x64还是IA64。做考虑之前需要考虑很多因素。在SQL Server中完全支持x64,并且为数据仓库提供了很多好的选项。目前,IA64硬件提供更多的可量测性,但是x64平台很快赶上了它。记住IA64是完全不同的一种芯片结构(它支持数据仓库中常见的平行化和改善计算逻辑)是非常重要的。既然这两种芯片架构很快的发展,因此最好还是好好地学习一下当前的提供情况。在TPC的网址(http://www.tpc.org/tpch/results/tpch_perf_results.asp)上提供了参考。
除了芯片架构之外,处理机的数量和速度也是很重要的一个方面。数据仓库需要很大数量的平行化的需求,这与处理器的速度和时钟速度是有很大关系的。在实现数据从仓库之前很难估计实际的需求。一个很好的方法是不仅仅确立一个开始的基线,也要识别硬件和架构。
2.       磁盘的配置
数据仓库的磁盘的配置也是很重要的一个因素。数据仓库动辄就需要TB级的I/O操作。如果这些信息恰好很少查询,I/O在我们的环境中将会是一个很大的因素。I/O仍然是硬件系统中的一个最慢的方面,因此为了能够正确的购买和配置磁盘子系统,需要进行周密的计划。存储范围网络(Storage Area Network:SAN)仍然是大型数据库(例如数据仓库)的一个理想的选择。在考虑SAN时需要考虑不同的文件类型(tempdb、数据文件和日志文件等)的特征,以便磁盘子系统能够得到正确的设计。磁盘配置的一些基本的最佳实践如下:
(1)      创建更多的SAN磁盘组来支持来自SQL Server的多重的和平行的I/O。每一个磁盘组由不同的磁盘数组组成并且基于数据的类型(工作的数据、历史数据、日志和Tempdb)配置;
  (2)        考虑SAN卖方基于I/O等级的推荐;
(3) 为了保证在每一部分失败时能够恢复的分离,需要将数据和日志文件放在不同的磁盘组中进行;
(4)     将tempdb数据文件和日志文件放在不同的磁盘组中;
(5)       保证数组从大数量的物理磁盘中构建,但是没有充满在控制器中;
l         大表通常经历了大范围的读取,从大数量的磁盘到均匀的分配I/O。
当定义RAID需求的时候,OLTP的对于数据仓库环境的一些最佳实践派上了用场。Tempdb是一些重要的数据库,这些数据库必须与在RAID序列的其他的数据库文件分开存放。
当你架构一个数据仓库的时候,需要富有创造力的考虑这些数据。特别是当你具有OLTP背景的时候。记住,即使数据库巨大,也很少一部分是很规则的被更新。
为了决定创新性的架构需要看看用户的查询需求。
网络需求常常有很大不同。虽然查询能在很大数据范围内得到过滤,返回给客户端的最终结果集常常是很小的。当一个分离的应用程序在相关的数据仓库和终端用户数据之间被插入时会发生异常。这个应用程序可能是OLAP服务器,例如分析服务等。这些应用程序趋向于从SQL Server中请求大数量的数据,在两个服务器见请求高速度的网络连接。
3.       SQL Server的配置
一旦购买了合适的硬件,为了充分的发挥SQL Server的潜能,对其进行配置变得很重要。SQL Server是被设置为自和谐的,因此,在很多情况下,要做的事情只是留下不同的配置值。但是这个规则中也有一些例外的情况,例如在数据库布局方面的一些建议等,这些在本小节中将进行讲述。
将数据仓库的服务器与其它的应用程序或数据库共用一个服务器是不明智的。资源利用的不一致使得很难对应用程序数据库提供一致的性能。
首先考虑一些存储器的配置。在很多情况下,通常选择的是64位的平台,因为相关数据仓库的存储量的高需求。AWE(Address Windowing Extensions)能从逻辑上增加32位平台的存储条,但是它引入了存储映射,这在64位平台上是被避免的。
“Max Degree of Parallelism”选项告诉SQL Server在一次单独的查询执行操作中平行化程度的最大程度。默认值0告诉SQL Server在运行时才决定其值。当一个平行化的计划为了一个查询产生时,查询优化器基于当前在运行时所获得的处理器决定。
一个经常被忽略的SQL Server选项是“query governor cost limit”,这个属性表示当查询超过多少时将拒绝执行。默认值0表示所有的查询都将被执行。
CPU和I/O也常常由SQL Server实例指定。不像在服务器上的共享服务资源的其它应用程序, 它们必须不使用。这个配置在一些很小的数据仓库中是强烈推荐不使用的。
4.       Tempdb
tempdb数据库是数据仓库中的重要组件。数据仓库查询趋向于执行分组的、排序的和聚合的大数量的行。依赖于存储资源、索引和查询结构,很多需求是在tempdb上的。
配置tempdb的第一步是尽可能的将其置于最有效的磁盘上。
第二步是为tempdb确定一个合适的磁盘容量,使得其能够在查询环境中适应。
5.       数据库配置
(1)      锁
数据库锁为了数据库的一致性而使用,保证数据更新操作是原子的、一致性的、隔离的和持久化的。数据一致性的概念仅仅在更新发生的时候使用。
(2)      及时的文件初始化
SQL Server 2005能够通过及时的文件初始化的方式快速的创建或者增加数据库的大小。及时的文件初始化也对数据库文件的自动增长有用。但最好还是决定一个大小。
(3)      自动收缩
关闭自动收缩通常是一个最佳实践。如果新的业务需求降低了需要保持的大量数据,数据库能够手动的收缩。关闭自动收缩阻止了数据库在数据存档后的收缩。
(4)      自动更新统计
在一个数据仓库中的批量更新很少触发过时的统计。在SQL Server 2005中,统计能够异步的更新,并且查询能够触发它们同时在老的统计中编译和运行。这意味着在老的统计中的查询编译,常常已经足够好。这时候推荐打开“自动更新统计”。
(5)      磁盘布局
对磁盘上的表进行布局的最佳实践是仅仅对系统对象使用主文件组,并且为剩下的项使用显示定义的文件组。
 
SQL Server2005连接数据库  一、下载安装1、SqlServer 2005 Express Edition   下载:http://msdn.microsoft.com/vstudio/express/sql/download/   安装完数据库后设置ICP/IP协议启动,具体如下:   (1)打开SQL Server Configuration Manager   (2)转到SQL Server 2005 Networ 阅读详情

相关推荐

SQL Server 2005 数据仓库实战指南与范例

SQL Server Integration Services(SSIS)是Microsoft SQL Server的一个组件,专门用于数据集成、数据转换和数据移动。SSIS作为一种强大的ETL工具,可以用于构建数据抽取、转换和加载(ETL)解决方案,从而简化数据仓库和数据集市的维护工作。SSIS的优势在于它的灵活性和可扩展性。它支持复杂的转换操作,如聚合、连接、合并、清洗,以及数据的拆分和数据的合并。此外,SSIS的图形化设计使得ETL过程的创建和维护更加直观。

weixin_42509513的博客 1070

用SQL Server 2005构建数据仓库(二)

    在上篇中讲述了怎么样创建一个可靠的基础数据仓库,分别从硬件方面、磁盘的配置、SQL Server的配置、Tempdb和数据库配置5个方面进行了详细阐述,在接下来的这篇中,将接着详细讲述一下表的设计相关的一些问题,将从索引策略、索引的分片以及快速载入与查询性能的等方面进行详细阐述。三.表的设计       对于数据仓库(它的数据直接被最终用户消费)的物理设计通常有两种方法,第一种

Reasoncool的专栏 1469

SQL Server 2005数据库导入导出完整图解教程

SQL Server 2005是微软在数据库领域的重要里程碑版本,首次引入了多项增强功能,特别是在数据导入导出、集成服务(SSIS)和管理工具方面实现了重大突破。其强大的数据迁移能力使其广泛应用于企业级数据整合、系统升级、数据备份与恢复等关键场景。本章将从整体视角出发,简要介绍SQL Server 2005的核心功能模块,重点阐述其在多数据源环境下的导入导出机制。通过理解其在ETL(抽取、转换、加载)流程中的角色,读者将为后续章节中深入掌握SSIS、SSMS操作及数据迁移最佳实践打下坚实基础。

weixin_42591908的博客 1333

SQL Server 2005 中的商务智能和数据仓库

SQL Server 2005 中的商务智能和数据仓库 发布日期: 2005年03月11日 摘要:本文概述了 SQL Server 2005 Beta 2 中“商务智能”平台的增强功能。本文并非实施指南,而是为读者提供了关于“商务智能”平台增强功能的信息。 本页内容 简介 SQL Server2005 Beta 2 入门 关系型数据仓库 ...

weixin_33755649的博客 388

建立Microsoft_SQL_Server_2005数据仓库

建立Microsoft_SQL_Server_2005数据仓库

用SQL server 2005建立数据仓库

用SQL server 2005 建立数据仓库,大家不用在为“如何使用SQL server 建立数据仓库而纠结”。

使用SqlServer建立数据仓库

目录一、作业一:星型模型及缓慢变化维1.1 问题一:基本星型模型1.2 问题二:增加缓慢变化维的星型模型二、作业二:导出表和多值维度问题2.1 问题一:导出表2.2 问题二:多值维度问题三、作业三:维度表的抽取3.1 一些准备工作3.2 抽取title_dim表3.3 抽取dept_dim表3.4 抽取emp_dim表3.5 抽取day_dim表点击查看原文...

qswm_18301240090的博客 4155

基于SQLServer2005的数据仓库构建及OLAP多维分析实验.pptx

基于SQLServer2005的数据仓库构建及OLAP多维分析实验.pptx

《数据库原理及应用》实验一SQL Server 2005使用

设有一学籍管理系统,其数据库名为“EDUC”,初始大小为 10MB,最大为 50MB,数据库自动增长,增长方式是按 5%比例增长;数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。(2) 根据步骤 1 的 sql 语句,写出创建数据库 supermark 的 sql 语句,并建立数据库 EDUC。filename='d:\sql_data\userdb4.mdf' ,/*物理名称,注意路径必须存在*/

Rabbit__7的博客 1782

三菱PLC FX3U温度控制系统案例

U0\G100是平均次数的设置,设置为100个数据取平均,这样数据显示更加稳定,通道1的数据显示再U0\G10里面,温度模块的数据对应是0~150°输出0~10V,对应到0~10000的数据10000是150°的66.667倍,因此把数据传送到D0后转换成浮点数,再去除以66.667,就得到实际的温度了,数据存放到D2。触摸屏软件使用EBpro软件,设计界面如下,右边的是温度的实时曲线图,左边的是温度报警表,当当前温度超过了报警温度这种时,就会在这个表格上显示对应对应的报警。(1)实时显示温度值;

u010670857的博客 4060

FIddler+Proxifer 实现PC客户端抓包详细教程

FIddler+Proxifer 实现PC客户端抓包详细教程

森明帮大于黑虎帮的博客 1万+

用SQL Server 2005构建高性能数据仓库

用SQL Server 2005构建高性能数据仓库 摘要:本文主要讨论当架构一个很大的、高性能的数据仓库,特别是对那种无法预知有多少查询量的系统时要考虑的一些东西。这个讨论包括SQL Server 2005的一些新的特性以及在使用这些特性的时候需要考虑的一些东西。它...

diaochejiang2761的博客 217

告别‘火龙’:实测BES2800/RK2108等主流芯片,聊聊AI眼镜的功耗与散热‘内卷’实战

本文深入探讨了AI智能眼镜在功耗与散热方面的挑战,重点分析了恒玄BES2800和瑞芯微RK2108等主控芯片的能效表现。通过实测数据和优化策略,揭示了在6nm工艺、异构计算和系统级散热方案下的实战经验,为AI眼镜的功耗管理提供了实用解决方案。

weixin_30839881的博客 946

Sql Server2005分离数据库

分离数据库是指将数据库从SQL Server实例中删除,但使数据库在其数据文件和事务日志文件中保持不变。之后,就可以使用这些文件将数据库附加到任何SQL Server实例,包括分离该数据库的服务器。 (1)在SQL Server Management Studio对象资源管理器中,连接到SQL Server数据库引擎的实例上,再展开该实例。 (2)展开“数据库”,并选择要分离的用户...

平行宇宙i的博客 3286

一文搞懂 Transformer 工作原理 !!

本文将从单头Attention工作原理多头Attention工作原理全连接网络工作原理三个方面,实现一文搞懂Transformer的工作原理。Transformer工作原理。

不要给自己设限,尝试更多可能(思所向 皆可往) 2990

FISCO BCOS平台的用户权限控制与分类管理

在区块链技术日益广泛应用的今天,如何管理与控制不同用户的权限,确保系统的安全性与高效性,成为了区块链平台不可忽视的一部分。FISCO BCOS作为一款高效的联盟链平台,通过细粒度的权限控制机制,提供了对不同用户权限的有效管理。本文将深入探讨FISCO BCOS如何实现用户的权限控制,并对不同用户进行分类与权限管理。FISCO BCOS平台通过精密的权限控制机制,不仅提供了对用户表和系统表的细粒度权限管理,还通过工具与接口为开发者和管理员提供了便捷的权限配置与查询功能。

2201_75798391的博客 1062

SQL Server 2005的商务智能和数据仓库

摘要:本文概述了 SQL Server 2005 Beta 2 中“商务智能”平台的增强功能。本文并非实施指南,而是为读者提供了关于“商务智能”平台增强功能的信息。  本页内容 免费书籍资料下载    简介 在线手册   SQL Server2005 Beta 2 入门 免费书籍资料下载   关系型数据仓库 相关研究方向   提取、转换和加载 (ETL) 在线手册

-云在青天水在瓶 1088

基于matlab的形态学的权重自适应图像去噪

数学形态学以图像的形态特征为研究对象,通过设计一套独特的数字图像处理方法和理论来描述图像的基本特征和结构,通过引入集合的概念来描述图像中元素与元素、部分与部分的关系运算。因此,数学形态学的运算由基础的集合运算(并、交、补等)来定义,并且所有的图像矩阵都能被方便地转换为集合。随着集合理论研究的不断深入和实际应用的拓展,图像形态学处理也在图像分析、模式识别等领域起着重要的应用。实验结果表明,如果仅通过串联滤波器去噪,则往往具有一定的局限性,在结果图像中也保留着较为明显的噪声。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 757

SQL server 2005数据库的创建和管理

SQL server 2005数据库的创建和管理 在SQL Server 2005中创建和管理数据库的方法主要有两种:一是在SQL Server Management Studi方便的图形化向导创建,二是通过执行Transact-SQL语句创建和管理数据库。 1.使用SQL Server Management Studio创建数据库。 利用SQL Server Management Studio对...

yi_xxxx的博客 3056

Cloud Connector RFC 访问控制深度实践:为 SAP BTP ABAP environment 打通安全、可控的远程连接

本文是一份面向企业ABAP团队与平台工程团队的Cloud Connector RFC访问控制配置指南。文章详细介绍了虚拟主机/实例号、负载均衡、资源白名单等核心概念,并提供了从零开始的配置流程。主要内容包括:通过Cloud Connector建立安全隧道的价值(零暴露、最小权限)、两种连接类型(无负载均衡/带负载均衡)的配置方法、资源白名单设置技巧,以及两个典型应用场景(Custom Code Migration远程检查与BAPI调用)的实操案例。指南基于SAP官方文档,包含落地经验与避坑建议,可帮助团队快

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 146

STM32 stack_size和heap_size大小设置的意义

在使用STM32编程时,一般情况下我们不会关注堆栈空间的大小,因为在STM32的启动文件中,已经帮我们预先设置好了堆栈空间的大小。如下图所示的启动代码中,Stack栈的大小为:0x400(1024Byte),Heap堆的大小为:0x200(512Byte)。 1、若工程中使用的局部变量较多,定义的数据长度较大时,若不调整栈的空间大小,则会导致程序出现栈溢出,程序运行结果与预期的不符或程序跑飞。这时我们就需要手动的调整栈的大小。 2、当工程中使用了malloc动态分配内存空间时,这时分配.......

zxm8513优快云博客 3万+

Sql Server2005创建数据库

若要创建数据库,必须确定数据库的名称、所有者、大小,以及存储该数据库的文件和文件组。 在创建数据库之前,应注意下列事项: ● 若要创建数据库,必须至少拥有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE权限。 ● 在SQL Server 2005中,对各个数据库的数据和日志文件设置了某些权限。如果这些文件位于具有打开权限的目录中,那么以上...

平行宇宙i的博客 7986

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SQL Server 2005学习之T-SQL数据库设计一

Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font

ChessPlayer的专栏 2561

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 用SQL Server 2005构建数据仓库(二)
下一篇: Sql2005如何用dtexec运行ssis(DTS)包
Reasoncool
博客等级 码龄21年 16粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值