Data Warehouse Hardware - DW硬件需求计算
1. Disk I/O, 硬盤IO速度
硬盤的IO速度一直都是數(shù)據(jù)庫的瓶頸,所以有條件的情況下盡可能的使用高IO的磁盤。
可以使用微軟的工具SQLIO測試磁盤的IOPS
2. CPU的主頻,
DW和傳統(tǒng)的OLTP數(shù)據(jù)庫在使用場景上不一樣。
傳統(tǒng)的OLTP數(shù)據(jù)庫具有[事務(wù)小][并發(fā)多]的特點(diǎn);而DW的數(shù)據(jù)庫相比較具有[事務(wù)大][并發(fā)少]的特點(diǎn)。
所以對比起來,傳統(tǒng)的OLTP數(shù)據(jù)庫可以使用[低主頻][多核]的硬件架構(gòu),而DW建議使用[高主頻][少核]方案。
上述都是相對情況,對于不差錢的土豪,高主頻,多核當(dāng)然是更好的選擇。
?
我們可以計算的是要滿足具體的業(yè)務(wù)需求,需要多少CPU(Core),多少內(nèi)存。
MCR,Maximum Consumption Rate,這是一個Core的吞吐量指標(biāo)
3. 計算MCR
可以使用下面的腳本計算出當(dāng)前計算機(jī)的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 BEGINSET @i = @i + 1INSERT 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 BEGININSERT INTO heap_tableSELECT col2, col3 FROM clust_table;INSERT INTO clust_tableSELECT col2, col3 FROM clust_table; END; USE BenchmarkDB GOSELECT 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 coreTo estimate the no. of cores required, use the following formula:(Amount of data scanned in an average query / MCR) * Concurrent Sessions / Target response timeFor example:(18000 MB/200 MBs) * 10 users / 60s response time = 15 cores (round up to 16) */
4. Memory內(nèi)存需求
最少1核對應(yīng)4G內(nèi)存,或者對每組CPU給64-128G內(nèi)存
轉(zhuǎn)載于:https://www.cnblogs.com/Niko12230/p/6114283.html
總結(jié)
以上是生活随笔為你收集整理的Data Warehouse Hardware - DW硬件需求计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: highcharts总结
- 下一篇: 关于document.referrer的