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. ubuntu emacs的安装

    在终端依次输入这三条命令即可 sudo add-apt-repository ppa:ubuntu-elisp/ppa sudo apt-get update sudo apt-get install ...

  2. java简单正则验证手机号

    import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Title:Tadesfza * @Description ...

  3. 从Oracle官网学习oracle数据库和java

    网上搜索Oracle官网:oracle官网 进入Oracle官网 点击menu-Documentation-Java/Database,进入Oracle官网的文档网站 首先是Java,可以看到Java ...

  4. IECapt、CutyCapt 生成网页快照

    IECapt.CutyCapt  生成网页快照 http://iecapt.sourceforge.net/ http://cutycapt.sourceforge.net/ 1.以管理员身份 运行c ...

  5. 确定 RN 中方法的 queue

     如果不指定,每一个模块,都会生成自己的一个串行队列. 可以通过强行声明一个队列来指定所有方法都在这个队列执行 - (dispatch_queue_t)methodQueue { return di ...

  6. python 全栈开发:逻辑运算

    基础运算符 逻辑运算: 优先级:()> not > and >or 数字转bool值,0为False,非零的数字为True. 1. print(2 > 1 and 1 < ...

  7. npm install 报错: WARN checkPermissions Missing write access to 解决方案

    经过各种百度搜索,发现这个问题的出现并不是管理员权限的问题,而是之前安装失败了,这个文件已经存在了,再次安装无法覆盖写入的问题. 解决方法: 1.找到node的全局安装路径,一般在nodejs文件夹的 ...

  8. 北航操作系统实验2019:Lab4-1流程梳理

    北航操作系统实验2019:Lab4-1流程梳理 前言 操作系统的实验课实在令人头秃.我们需要在两周时间内学习相关知识.读懂指导书.读懂代码.补全代码.处理玄学bug和祖传bug,以及回答令人窒息的思考 ...

  9. 洛谷 P2014 选课(树形背包)

    洛谷 P2014 选课(树形背包) 思路 题面:洛谷 P2014 如题这种有依赖性的任务可以用一棵树表示,因为一个儿子要访问到就必须先访问到父亲.然后,本来本题所有树是森林(没有共同祖先),但是题中的 ...

  10. C#常用字符串总结

    字符串基础<一> static void Main(string[] args) { string str1 = "I Love You"; string str2 = ...