web-dev-qa-db-fra.com

Que sont OLTP et OLAP. Quelle est la différence entre eux?

En fait, que veulent-ils dire? Tous les articles que je trouve à leur sujet ne me donnent pas une idée, ou ma connaissance est trop insuffisante pour la comprendre.

Est-ce que quelqu'un me donnera des ressources avec lesquelles je pourrai apprendre cela de zéro?.

250
Amarnath R Shenoy

Vous trouverez ici une meilleure solution OLTP vs. OLAP

  • OLTP (traitement des transactions en ligne) est impliqué dans le fonctionnement d'un système particulier. OLTP se caractérise par un grand nombre de transactions en ligne courtes (INSERT, UPDATE, DELETE). Pour les systèmes OLTP, l'accent est mis sur le traitement très rapide des requêtes, le maintien de l'intégrité des données dans les environnements à accès multiples et une efficacité mesurée en nombre de transactions par seconde. Dans la base de données OLTP, il y a des données détaillées et actuelles, et le schéma utilisé pour stocker les bases de données transactionnelles est le modèle d'entité (généralement 3NF). Cela implique que les requêtes accèdent à des enregistrements individuels, telles que la mise à jour de votre base de données Email dans la société.

  • OLAP (traitement analytique en ligne) traite des données historiques ou des données archivistiques. OLAP se caractérise par un volume de transactions relativement faible. Les requêtes sont souvent très complexes et impliquent des agrégations. Pour OLAP systèmes, le temps de réponse est une mesure d'efficacité. Les applications OLAP sont largement utilisées par les techniques d'exploration de données. Dans la base de données OLAP, il y a des données historiques agrégées, stockées dans des schémas multidimensionnels (généralement un schéma en étoile). Parfois, les requêtes doivent accéder à une grande quantité de données dans les enregistrements de gestion, comme ce fut le profit de votre entreprise l'année dernière.

310
Nagaraj S

Réponse très courte:

Différentes bases de données ont des utilisations différentes. Je ne suis pas un expert en bases de données. Règle de base:

  • si vous effectuez des analyses (par exemple, agrégation de données historiques), utilisez OLAP
  • si vous effectuez des transactions (par exemple, ajouter/supprimer des commandes sur un panier de commerce électronique), utilisez OLTP

Réponse courte:

Prenons deux exemples de scénarios:

Scénario 1:

Vous construisez une boutique en ligne/un site Web et vous voulez pouvoir:

  • stocker les données utilisateur, les mots de passe, les transactions précédentes ...
  • stocker les produits réels, leur prix associé

Vous voulez pouvoir rechercher des données pour un utilisateur particulier, modifier son nom ... Effectuez essentiellement des opérations INSERT, UPDATE, DELETE sur des données utilisateur. Même avec les produits, etc.

Vous voulez pouvoir effectuer des transactions, impliquant éventuellement un utilisateur achetant un produit (c'est une relation). Alors, OLTP est probablement un bon choix.

Scénario 2:

Vous avez une boutique en ligne/site web, et vous voulez calculer des choses comme

  • le "total des dépenses pour tous les utilisateurs"
  • "quel est le produit le plus vendu"

Ceci tombe dans le domaine analytics/business intelligence, donc OLAP est probablement plus adapté.

Si vous pensez en termes de "ce serait bien de savoir comment/quoi/combien" ..., et que cela implique tout "objet" d'un ou plusieurs types (ex. Tous les utilisateurs et la plupart des produits de connaître le total dépensé) alors OLAP est probablement mieux adapté.

Réponse plus longue:

Bien sûr, les choses ne sont pas si simples. C'est pourquoi nous devons commencer par placer de petites balises telles que OLTPet OLAP. Chaque base de données devrait être évaluée indépendamment à la fin.

Alors, quelle pourrait être la différence fondamentale entre OLAP et OLTP?

Les bases de données doivent stocker les données quelque part. Il ne devrait pas être surprenant que la manière dont les données sont stockées reflète fortement l'utilisation possible de ladite base de données. Les données sont généralement stockées sur un disque dur. Imaginons un disque dur comme une très grande feuille de papier, dans laquelle nous pouvons lire et écrire des choses. Il y a deux façons d'organiser nos lectures et écritures de manière à ce qu'elles puissent être efficaces et rapides.

Une façon est de créer un livre un peu comme un annuaire téléphonique . Sur chaque page du livre, nous stockons les informations concernant un utilisateur particulier. Maintenant que c'est Nice, nous pouvons trouver les informations pour un utilisateur particulier très facilement! Il suffit de sauter à la page! Nous pouvons même avoir une page spéciale au début pour nous dire quelle page sont les utilisateurs si nous voulons. Mais d’autre part, si nous voulons savoir, par exemple, combien tous nos utilisateurs dépensent, il nous faudra lire chaque page, c.-à-d. le livre entier! Ce serait un livre/base de données en ligne (OLTP). La page facultative au début serait l'index.

Une autre façon d'utiliser une grande feuille de papier consiste à créer un livre de comptabilité . Je ne suis pas comptable, mais imaginons que nous aurions une page pour "dépenses", "achats" ... C'est bien parce que maintenant nous pouvons interroger des choses comme "donnez-moi le total des revenus" très rapidement (lisez simplement les "achats" "page). Nous pouvons également demander des choses plus compliquées, telles que "donnez-moi les dix produits les plus vendus" tout en conservant des performances acceptables. Mais considérons maintenant combien il serait difficile de trouver les dépenses pour un utilisateur particulier. Il vous faudrait parcourir la liste complète des dépenses de chacun et filtrer celles de cet utilisateur, puis les additionner. Ce qui revient essentiellement à "lire le livre en entier" à nouveau. Ce serait une base de données basée sur des colonnes (OLAP).

Il s'ensuit que :

  • Les bases de données OLTP sont destinées à être utilisées pour effectuer de nombreuses petites transactions et servent généralement de "source unique de vérité".

  • Les bases de données OLAP sont plus appropriées pour l'analyse, l'exploration de données, moins de requêtes mais elles sont généralement plus volumineuses (elles fonctionnent sur plus de données).

C'est un peu plus compliqué que cela bien sûr et c'est un aperçu de 20 000 pieds de la différence des bases de données, mais cela me permet de ne pas me perdre dans une mer d'acronymes.

En parlant d'acronymes:

  • OLTP = traitement des transactions en ligne
  • OLAP = traitement analytique en ligne

Pour lire un peu plus loin, voici quelques liens pertinents qui ont fortement inspiré ma réponse:

197
nha

La différence est assez simple.

OLTP (traitement des transactions en ligne).

OLTP est une classe de systèmes d’information qui facilitent et gèrent les applications transactionnelles. OLTP a également été utilisé pour faire référence au traitement dans lequel le système répond immédiatement aux demandes des utilisateurs. Les applications de traitement de transactions en ligne ont un débit élevé et impliquent une forte intensité de mise à jour ou de mise à jour dans la gestion de base de données. Parmi les exemples de systèmes OLTP, notons les systèmes de saisie de commande, de vente au détail et de transaction financière.

OLAP (traitement analogique en ligne)

OLAP fait partie de la catégorie plus large de la veille stratégique, qui englobe également la base de données relationnelle, la rédaction de rapports et l'exploration de données. Les applications typiques de OLAP incluent les rapports commerciaux pour les ventes, le marketing, les rapports de gestion, la gestion des processus métiers, la budgétisation et les prévisions, les rapports financiers et autres domaines similaires.

Voir plus de détails OLTP et OLAP

21

OLTP-: L'oltp désigne les traitements de transaction en ligne utilisés pour gérer les informations de données quotidiennes courantes. OLAP-: olap signifie traitement analytique en ligne, utilisé pour conserver l'historique des données et principalement utilisé pour l'analyse des données. Il peut également être appelé entrepôt.

6
rakesh singh