J'ai SQL Express Server avec une base de données utilisée par une application. J'essaie d'optimiser la base de données mais je ne sais pas si le DB est OLTP ou OLAP.
Il n'y a pas de serveur d'analyse installé, le DB est à l'intérieur de l'instance SQL Server, il devrait donc être OLTP, mais lorsque j'exécute la ration de lecture/écriture sur la DB, j'ai ce qui suit:
Reads Writes Read% Write %
DB file 400 000 75 000 85% 15%
DB log 250 30 000 1% 99%
Standard OLTP DB devrait avoir plus de lecture que d'écrit, non? Cela me fait suspecter que c'est peut-être OLAP DB.
Je demande à cela concernant l'utilisation de technologies hyperthreading, de réglage maxDop et de configurer le cache comme étant écrit ou rétablir entre autres choses.
La requête que j'utilise est comme suit:
SELECT DB_NAME(DB_ID()) AS [Database Name] ,
[file_id] , num_of_reads , num_of_writes , num_of_bytes_read , num_of_bytes_written ,
CAST(100. * num_of_reads / ( num_of_reads + num_of_writes ) AS DECIMAL(10, 1)) AS [# Reads Pct] ,
CAST(100. * num_of_writes / ( num_of_reads + num_of_writes ) AS DECIMAL(10,1)) AS [# Write Pct] ,
CAST(100. * num_of_bytes_read / ( num_of_bytes_read + num_of_bytes_written ) AS DECIMAL(10, 1)) AS [Read Bytes Pct] ,
CAST(100. * num_of_bytes_written / ( num_of_bytes_read + num_of_bytes_written ) AS DECIMAL(10,1)) AS [Written Bytes Pct]
FROM sys.dm_io_virtual_file_stats(DB_ID(), NULL) ;
Des pensées de DBAS seniors?
D'une perspective DBA, la différence de clé entre OLAP et OLTP _ est la méthode de syntonisation que vous appliquez sur les requêtes. Le ratio de lecture/écriture ne vous dit pas vraiment quelque chose d'utile.
J'ai un petit "quadrant magique" que j'utilise pour illustrer la différence (dans votre cas, envisager BI/DW et l'ETL la même chose que OLAP):
Fondamentalement, si vous devez toucher beaucoup de données pour produire des résultats de la requête, vous êtes OLAP. Converse Si vous pouvez vous éloigner de très peu de données pour produire des valeurs de retour, vous êtes OLTP.
Évidemment, si vous avez de mauvaises stratégies d'indexation, alors OLTP _ peut finir par ressembler à OLAP - simplement parce que vous finissez par faire des analyses de table tout le temps. Un bon moyen de faire cette distinction consiste à examiner la quantité de données devant être touchées par les 10 premières requêtes les plus importantes du système - quelle que soit la qualité de votre stratégie d'indexation.
Une fois que vous avez réglé sur la majorité de votre charge de travail, vous pouvez commencer à appliquer des techniques de réglage spécifiques de charge de travail. Voici quelques-unes des trucs spécifiques de la charge de travail que vous pourriez envisager (toujours adapter à votre charge de travail spécifique)
OLAP :
OLTP :