web-dev-qa-db-fra.com

Entrepôt de données contre OLAP Cube?

Quelqu'un peut-il expliquer en quoi consiste réellement la distinction entre Data Warehouse et OLAP Cubes?

S'agit-il d'une approche différente pour la même chose?

Est-ce que l'un d'eux est obsolète par rapport à l'autre?

Existe-t-il des problèmes de performances dans l’un d’eux?

Toute explication est la bienvenue

58
veljasije

Un entrepôt de données est une base de données dont la conception facilite l'analyse des données † (souvent avec des données provenant de sources multiples). Il est généralement composé de tables de faits et de dimensions, et souvent de tables agrégées.

OLAP est un ensemble d'opérations que vous pouvez effectuer sur un ensemble de données, telles que pivoter, découper en tranches, découper en dés, percer. Par exemple, vous pouvez effectuer OLAP opérations avec des tableaux croisés dynamiques Excel.

Vous pouvez avoir un entrepôt de données et ne pas utiliser du tout OLAP (vous venez de générer des rapports).

Vous pouvez également exécuter OLAP opérations sur autre chose qu'un entrepôt de données, tel qu'un fichier plat.

Un serveur OLAP est un type de logiciel serveur qui facilite les opérations OLAP, par exemple avec la mise en cache et la réécriture de requêtes. Les opérations OLAP sont souvent exprimées en [~ # ~] mdx [~ # ~] , et votre serveur OLAP pourrait traduire MDX en SQL normal pour votre base de données. Ou cela pourrait fonctionner avec son propre format de fichier binaire.

S'agit-il d'une approche différente pour la même chose?

Non, un entrepôt de données est un endroit pour stocker des données dans un format facilement analysable, et OLAP est une méthode pour analyser des données.

Est-ce que l'un d'eux est obsolète par rapport à l'autre?

Non, ils se complètent en ce sens qu’un entrepôt de données facilite l’analyse de données à l’aide d’OLAP, et que OLAP rend l’analyse d’un entrepôt de données plus utile.

Y a-t-il des problèmes de performances dans l'un d'entre eux?

Oui. Un entrepôt de données est conçu pour stocker des quantités de données, et l'interrogation prendra donc du temps. Les performances peuvent être améliorées en utilisant des index, la mise en cache, le partage de sites et en pré-agrégant certaines données.

Voir aussi: https: //dba.stackexchange.com/questions/45655/what-are-measures-and-dimensions-in-cubes

† plutôt que de rendre les transactions plus faciles/plus intégrales

84
Neil McGuigan

Un entrepôt de données contient les données sur lesquelles vous souhaitez générer des rapports, analyser, etc.

Un cube organise ces données en les regroupant dans des dimensions définies. Vous pouvez avoir plusieurs dimensions (imaginez un tableau hyper pivot dans Excel).

Par exemple, dans votre entrepôt de données, vous avez toutes vos ventes, mais exécuter des requêtes SQL complexes peut prendre beaucoup de temps. Ainsi, à partir de votre entrepôt de données, vous créez un cube qui indexe et précalcule les données. Dans votre cube, vous pouvez avoir toutes ces dimensions précalculées: ventes par mois, par semaine, par vendeur, par client, par région géographique, par couleur de produit, etc. Vous pouvez ensuite exécuter OLAP requêtes sur votre cube doit avoir les ventes totales, moyennes et maximales par (mois, vendeur, région), par (couleur, région) ou par (vendeur, mois). Toutes les données étant précalculées et indexées, les requêtes sont très rapides. .

3
sthiy

S'agit-il d'une approche différente pour la même chose?

Non, un entrepôt de données est un endroit pour stocker des données dans un format facilement analysable, et OLAP est une méthode pour analyser des données.

Non, ils font vraiment les mêmes choses! OLAP est plus précis que DWH. OLAP est comme des agrégats dans DWH

1
user3657020