Data Warehouse Hardware - DW硬件需求计算
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硬件需求计算的更多相关文章
- Azure SQL Data Warehouse
Azure SQL Data Warehouse & AWS Redshift Amazon Redshift Amazon Redshift 是一种快速.完全托管的 PB 级数据仓库,可方便 ...
- Azure SQL 数据库仓库Data Warehouse (1) 入门
<Windows Azure Platform 系列文章目录> 在之前的项目中遇到了客户使用SQL数据仓库的场景,在这里记录一下 1.什么是SQL 数据库仓库 (SQL DW) SQL D ...
- 浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案
作者 王枫发布于2014年2月19日 综述 随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力,日益成为组织在这个 ...
- 转:浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案
综述 随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力,日益成为组织在这个时代决胜未来的关键因素,而基于大数据的 ...
- DataBase vs Data Warehouse
Database https://en.wikipedia.org/wiki/Database A database is an organized collection of data.[1] A ...
- Azure SQL 数据库仓库Data Warehouse (2) 架构
<Windows Azure Platform 系列文章目录> 在上一篇文章中,笔者介绍了MPP架构的基本内容 在本章中,笔者给大家介绍一下Azure SQL Data Warehouse ...
- Azure SQL 数据库仓库Data Warehouse (3) DWU
<Windows Azure Platform 系列文章目录> 在笔者的上一篇文章中:Azure SQL 数据库仓库Data Warehouse (2) 架构 介绍了SQL DW的工作节点 ...
- The Data Warehouse Toolkit 阅读笔记
前言 这篇笔记的主要内容来至于The Data Warehouse Toolkit,该书可以称为数仓建模的圣经 什么是星型模型 以一个业务实时为主表.比如一笔订单就是一个业务事实.订单有商品的SKU信 ...
- Data Warehouse
Knowledge Discovery Process OLTP & OLAP 联机事务处理(OLTP, online transactional processing)系统:涵盖组织机构大部 ...
随机推荐
- js实现window.open不被拦截的解决方法汇总
一.问题: 今天在处理页面ajax请求过程中,想实现请求后打开新页面,就想到通过 js window.open 来实现,但是最终都被浏览器拦截了. 二.分析: 在谷歌搜索有没有解决方法,有些说可以通过 ...
- 瞄一眼,带你走进SparkSQL的世界
本文由 网易云发布. 作者:范欣欣(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验 ...
- vuejs 添加事件时出现TypeError: n.apply is not a function
vuejs项目中给表单元素添加事件时出现了TypeError: n.apply is not a function的错误,后来发现错误原因时处理事件的函数名和data中定义的变量名相同 当给事件添加处 ...
- CTF之信息泄漏
web源码泄漏 .hg源码泄漏: 漏洞成因:hg init的时候会生成.hg,http://www.xx.com/.hg/, 工具:dvcs-ripper,(rip-hg.pl -v -u http ...
- $.ajax()——超时设置,增加 loading 提升体验
前端发送Ajax请求到服务器,服务器返回数据这一过程,因原因不同耗时长短也有差别,且这段时间内页面显示空白.如何优化这段时间内的交互体验,以及长时间内服务器仍未返回数据这一问题,是我们开发中不容忽视的 ...
- SpringMvc渲染视图
这篇博文讨论的问题是从ModelAndView如何渲染到页面. 首先要知道每个请求处理完之后都会返回一个ModelAndView对象. 这里我分6种情况来分析,代表6种返回类型: ModelAndVi ...
- Security-OAuth2.0 密码模式之服务端实现
第一步:配置数据库 ,固定创建三张表 ,OAuth2 框架需要默认使用这三张表 我使用的时Mysql,工具为navcat CREATE TABLE `oauth_access_token` ( `to ...
- Error:(1, 1) 错误: 需要class, interface或enum
这个东西在Ideal里面报的错误,在控制台提示: Error:(1, 1) 错误: 需要class, interface或enum 网上搜到说是编码问题,我的解决方式: 把出错的文件选中复制一份,再随 ...
- SYN 洪泛攻击
在 TCP 三次握手中,服务器为了响应一个收到的 SYN,分配并初始化连接变量和缓存.然后服务器发送一个 SYNACK 进行相应,并等待来自客户的 ACK 报文段. 如果某客户不发送 ACK 来完成三 ...
- MySQL之试图、触发器、事务、存储过程、函数
阅读目录 一.视图 二.触发器 三.事务 四.存储过程 五.函数 六.流程控制 一.视图 视图是一个虚拟表(非真实存在),是跑到内存中的表,真实表是硬盘上的表,怎么就得到了虚拟表,就是你查询的结果,只 ...