1. Disk I/O, 硬盘IO速度

  硬盘的IO速度一直都是数据库的瓶颈,所以有条件的情况下尽可能的使用高IO的磁盘。

  可以使用微软的工具SQLIO测试磁盘的IOPS

2. CPU的主频,

  DW和传统的OLTP数据库在使用场景上不一样。

  传统的OLTP数据库具有[事务小][并发多]的特点;而DW的数据库相比较具有[事务大][并发少]的特点。

  所以对比起来,传统的OLTP数据库可以使用[低主频][多核]的硬件架构,而DW建议使用[高主频][少核]方案。

  上述都是相对情况,对于不差钱的土豪,高主频,多核当然是更好的选择。

我们可以计算的是要满足具体的业务需求,需要多少CPU(Core),多少内存。

MCR,Maximum Consumption Rate,这是一个Core的吞吐量指标

3. 计算MCR

  可以使用下面的脚本计算出当前计算机的MCR

  

USE master;

-- Create a database for benchmark queries
IF EXISTS (SELECT * FROM sys.sysdatabases WHERE name = 'BenchmarkDB')
DROP DATABASE BenchMarkDB;
GO
CREATE DATABASE BenchMarkDB;
GO
USE BenchMarkDB; -- Include a heap and a table with a clustered index
CREATE TABLE heap_table
(col1 integer identity,
col2 integer,
col3 varchar(50)); CREATE TABLE clust_table
(col1 integer identity PRIMARY KEY CLUSTERED,
col2 integer,
col3 varchar(50)); -- Insert 100 rows to start with
DECLARE @i integer = 0;
WHILE @i < 101
BEGIN
SET @i = @i + 1
INSERT INTO heap_table VALUES (@i, CAST(@i%5 AS varchar))
INSERT INTO clust_table VALUES (@i, CAST(@i%5 AS varchar))
END; -- Now keep reinserting exponentially until the tables each contain 2 million rows
WHILE (SELECT COUNT(*) FROM clust_table) < 2000000
BEGIN
INSERT INTO heap_table
SELECT col2, col3 FROM clust_table;
INSERT INTO clust_table
SELECT col2, col3 FROM clust_table;
END;
USE BenchmarkDB
GO SELECT SUM(Col2) FROM heap_table WHERE col1 % 3 = 1
GROUP BY col3; SELECT SUM(Col2) FROM clust_table WHERE col1 % 3 = 1
GROUP BY col3; SET STATISTICS IO ON;
SET STATISTICS TIME ON; -- run these muliple times and take an average of the logical reads and CPU time
SELECT SUM(Col2) FROM heap_table WHERE col1 % 3 = 1
GROUP BY col3
OPTION (MAXDOP 1); SELECT SUM(Col2) FROM clust_table WHERE col1 % 3 = 1
GROUP BY col3
OPTION (MAXDOP 1); /* Max Consumption Rate (MCR) is the average of (logical reads / CPU time in seconds) * 8 / 1024
(or put another way, the size of the table in MB / CPU time in seconds)
This gives us the throughput of a core To estimate the no. of cores required, use the following formula:
(Amount of data scanned in an average query / MCR) * Concurrent Sessions / Target response time
For example:
(18000 MB/200 MBs) * 10 users / 60s response time = 15 cores (round up to 16) */

4. Memory内存需求

  最少1核对应4G内存,或者对每组CPU给64-128G内存

  

Data Warehouse Hardware - DW硬件需求计算的更多相关文章

  1. Azure SQL Data Warehouse

    Azure SQL Data Warehouse & AWS Redshift Amazon Redshift Amazon Redshift 是一种快速.完全托管的 PB 级数据仓库,可方便 ...

  2. Azure SQL 数据库仓库Data Warehouse (1) 入门

    <Windows Azure Platform 系列文章目录> 在之前的项目中遇到了客户使用SQL数据仓库的场景,在这里记录一下 1.什么是SQL 数据库仓库 (SQL DW) SQL D ...

  3. 浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案

    作者 王枫发布于2014年2月19日 综述 随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力,日益成为组织在这个 ...

  4. 转:浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案

    综述 随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力,日益成为组织在这个时代决胜未来的关键因素,而基于大数据的 ...

  5. DataBase vs Data Warehouse

    Database https://en.wikipedia.org/wiki/Database A database is an organized collection of data.[1] A ...

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

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

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

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

  8. The Data Warehouse Toolkit 阅读笔记

    前言 这篇笔记的主要内容来至于The Data Warehouse Toolkit,该书可以称为数仓建模的圣经 什么是星型模型 以一个业务实时为主表.比如一笔订单就是一个业务事实.订单有商品的SKU信 ...

  9. Data Warehouse

    Knowledge Discovery Process OLTP & OLAP 联机事务处理(OLTP, online transactional processing)系统:涵盖组织机构大部 ...

随机推荐

  1. ASP.NET MVC学习目录

    一.ASP.NET MVC原理详解 1.了解MVC架构模式 3.学习ASP.NET MVC的必备语言知识 4.MVC中的razor语法详解 5.ASP.NET MVC路由系统机制详细讲解 6.ASP. ...

  2. Skyline桌面二次开发之路径漫游(C#)

    所谓路径漫游:即创建一个动态对象和一条由多点组成的线,然后让动态对象沿着线飞行 首先绘制一条线,实际上路径漫游是不需要绘制线的,我这里只是为了确认动态对象是否沿着线路在飞行,代码如下: //绘制路径 ...

  3. unity 移动物体的方式

    1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...

  4. Java50道经典习题-程序10 自由落体

    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? import java.util.Scanner; public cl ...

  5. PHP创建与解析 XML 1 (36)

    一.使用SimpleXML操控XML 要处理XML 文件,有两种传统的处理思路:SAX 和DOM.SAX 基于事件触发机制,对XML 文件进行一次扫描,完成要进行的处理:DOM 则将整个XML 文件构 ...

  6. Java_IO流输入输出

    第三章 输入输出 一.I/O Input/Output 二.File 用途:对文件和目录进行常规操作(除文件读写操作外). 方法:exists():判断文件或目录是否存在 isFile():判断是否是 ...

  7. kali linux之steghide

    Steghide  Linux 命令行隐写工具 Steghide是一款开源的隐写术软件,它可以让你在一张图片或者音频文件中隐藏你的秘密信息,而且你不会注意到图片或音频文件发生了任何的改变.而且,你的秘 ...

  8. C++基础知识-派生类、调用顺序、访问等级、函数遮蔽

    一.派生类的概念 类之间有一种层次关系,有父亲类,有孩子类. 车这个类,当成父类(也叫基类.超类),派生出卡车.轿车,他们属于孩子类(子类.派生类) 继承:有父亲类,有孩子类,构成了层次关系.继承这种 ...

  9. 初学struts2框架

    昨天初学strts2,折腾了一晚上才正好一个简单的应用程序,在这个过程中遇到了很多的问题. 1. struts2的更新太快,所以从图书馆借的书常常会跟不上变化,所以有时执行起来会很麻烦. 2. 如果你 ...

  10. OI中一些常见实用的套路【更新中】

    数据结构 在维护树上路径时,如果只是点的独立的加减,可以考虑用括号序来维护(拆成两部分) 需要求树上很多路径中k近/距离和 一类,考虑点分治/在点分树上解决. 子树求和可以转化为DFS序上区间求和 树 ...